📜  JavaScript Set forEach()方法(1)

📅  最后修改于: 2023-12-03 14:42:26.956000             🧑  作者: Mango

JavaScript Set forEach()方法

在 JavaScript 中,集合是一种无序且唯一的数据结构。Set 是其中的一种集合类型,它由一组不重复且无序的元素组成。Set 类型提供了一个 forEach() 方法,用于遍历集合中的每个元素。

语法
set.forEach(function(value, key, set) {
  // 执行操作
}, thisArg);

该方法接受两个参数:

  • 回调函数:用于对每个元素执行的函数。回调函数有三个参数:
    • value:当前元素的值;
    • key:当前元素在集合中的键值;
    • set:当前元素所在的集合对象;
  • thisArg:可选参数,指定回调函数执行时的 this 值。
示例
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 值仍然指向原对象。