Set.prototype.forEach() - JavaScript 编辑
forEach
方法会根据集合中元素的插入顺序,依次执行提供的回调函数。
语法
mySet.forEach(callback[, thisArg])
参数
callback
- 为集合中每个元素执行的回调函数,该函数接收三个参数:
- currentValue, currentKey可选
- currentValue 是正在被操作的元素。并且由于集合没有索引,所以 currentKey 也表示这个正在被操作的元素。
- set可选
- 调用当前
forEach
方法的集合对象
thisArg
可选- 回调函数执行过程中的
this
值。
返回值
描述
forEach
方法会依次为集合中的元素执行回调函数,就算元素的值是 undefined
。
回调函数有三个参数:
- 元素的值
- 元素的索引
- 正在遍历的集合对象
但是由于集合对象中没有索引(keys),所以前两个参数都是Set
中元素的值(values),之所以这样设计回调函数是为了和Map
以及Array
的 forEach
函数用法保持一致。
如果提供了一个 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"
规范
Specification | Status | Comment |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) Set.prototype.forEach | Standard | Initial 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!Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 38 | 25.0 (25.0) | 11 | 25 | 7.1 |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | 未实现 | 38 | 25.0 (25.0) | 未实现 | 未实现 | 8 |
参见
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论