📅  最后修改于: 2023-12-03 14:42:26.956000             🧑  作者: Mango
在 JavaScript 中,集合是一种无序且唯一的数据结构。Set 是其中的一种集合类型,它由一组不重复且无序的元素组成。Set 类型提供了一个 forEach() 方法,用于遍历集合中的每个元素。
set.forEach(function(value, key, set) {
// 执行操作
}, thisArg);
该方法接受两个参数:
const mySet = new Set(['apple', 'banana', 'orange']);
mySet.forEach(function(value, key, set) {
console.log(value, key, set);
});
// 输出:
// apple apple Set { 'apple', 'banana', 'orange' }
// banana banana Set { 'apple', 'banana', 'orange' }
// orange orange Set { 'apple', 'banana', 'orange' }
该示例创建了一个包含三个元素的 Set 对象,并使用 forEach() 方法遍历了每个元素。在回调函数中,我们打印了当前元素的值、键值以及其所在的集合对象。
由于箭头函数中没有自己的 this 值,因此我们不能通过传递 thisArg 参数来改变 this 的值。但是,我们仍然可以在箭头函数中使用当前对象的 this 值。
const mySet = new Set(['apple', 'banana', 'orange']);
const myObj = {
myMethod() {
mySet.forEach(value => {
console.log(value, this);
});
}
};
myObj.myMethod();
// 输出:
// apple { myMethod: [Function: myMethod] }
// banana { myMethod: [Function: myMethod] }
// orange { myMethod: [Function: myMethod] }
在此示例中,我们创建了一个对象 myObj,其中包含一个方法 myMethod。在 myMethod 中,我们使用 forEach() 方法遍历了 mySet,并使用箭头函数来输出当前元素的值和当前对象的 this 值。
Set forEach() 方法用于遍历集合中的每个元素,并执行回调函数。回调函数有三个参数:当前元素的值、键值和集合对象。我们可以通过传递 thisArg 参数来改变回调函数中的 this 值。当使用箭头函数时,当前对象的 this 值仍然指向原对象。