Set.prototype.forEach() - JavaScript 编辑

forEach 方法会根据集合中元素的插入顺序,依次执行提供的回调函数。

语法

mySet.forEach(callback[, thisArg])

参数

callback
为集合中每个元素执行的回调函数,该函数接收三个参数:
currentValue, currentKey可选
currentValue 是正在被操作的元素。并且由于集合没有索引,所以 currentKey 也表示这个正在被操作的元素。
set可选
调用当前 forEach 方法的集合对象
thisArg可选
回调函数执行过程中的 this 值。

返回值

undefined.

描述

forEach 方法会依次为集合中的元素执行回调函数,就算元素的值是 undefined

回调函数有三个参数:

  • 元素的值
  • 元素的索引
  • 正在遍历的集合对象

但是由于集合对象中没有索引(keys),所以前两个参数都是Set中元素的值(values),之所以这样设计回调函数是为了和Map 以及ArrayforEach 函数用法保持一致。

如果提供了一个 thisArg 参数给 forEach 函数,则参数将会作为回调函数中的 this值。否则 this 值为 undefined。回调函数中 this 的绑定是根据函数被调用时通用的 this 绑定规则来决定的

forEach 函数为集合对象中每个元素都执行一次回调;它不会返回任何值。

例子

输出集合对象的内容

以下代码依次打印集合对象的元素:

function logSetElements(value1, value2, set) {
    console.log("s[" + value1 + "] = " + value2);
}

new Set(["foo", "bar", undefined]).forEach(logSetElements);

// logs:
// "s[foo] = foo"
// "s[bar] = bar"
// "s[undefined] = undefined"

规范

SpecificationStatusComment
ECMAScript 2015 (6th Edition, ECMA-262)
Set.prototype.forEach
StandardInitial definition.

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support3825.0 (25.0)11257.1
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support未实现3825.0 (25.0)未实现未实现8

参见

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:113 次

字数:6344

最后编辑:7 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文