📜  foreach 循环 javascript (1)

📅  最后修改于: 2023-12-03 15:15:10.626000             🧑  作者: Mango

JavaScript中的foreach循环

在JavaScript中,forEach是一种数组迭代方法。它允许您使用函数处理数组的每个元素。

语法

下面是forEach方法的语法:

array.forEach(function(currentValue, index, array) {
  // 待执行代码
}, thisArg);

该方法接收两个参数:

  1. function(currentValue, index, array):必需,通常被称为回调函数。对于数组中的每个元素都会执行该回调函数。
  2. thisArg:可选参数,指定执行回调函数时在其中使用的this对象。
用法示例

假设我们有一个名为fruits的数组,存储了一些水果名称。我们可以使用forEach循环遍历这个数组,并在控制台中打印出每种水果的名称。

const fruits = ['apple', 'banana', 'cherry'];

fruits.forEach(function(fruit) {
  console.log(fruit);
});
// 输出 'apple', 'banana', 'cherry'

在上面的示例中,我们定义了一个匿名函数,其作为回调函数传递给forEach方法。该函数会以fruit作为参数,然后打印出fruit的值。

除了参数currentValue之外,forEach回调函数还可以接收其他两个参数:indexarray

const fruits = ['apple', 'banana', 'cherry'];

fruits.forEach(function(fruit, index) {
  console.log(index, fruit);
});
// 输出 '0 apple', '1 banana', '2 cherry'

在上面的示例中,我们通过使用index变量打印出每种水果的索引位置。

另外,我们也可以指定回调函数内使用的this

const obj = {
  message: 'The fruit is: ',
  printFruit: function(fruit) {
    console.log(this.message + fruit);
  }
};

const fruits = ['apple', 'banana', 'cherry'];

fruits.forEach(obj.printFruit, obj);
// 输出 'The fruit is: apple', 'The fruit is: banana', 'The fruit is: cherry'

在上面的示例中,我们创建了一个名为obj的对象,其中包含一个message属性和一个名为printFruit的方法。printFruit方法接收一个fruit参数,并将messagefruit输出到控制台。我们将该方法传递给forEach中,并将obj作为第二个参数传递。这意味着当回调函数执行时,我们将obj作为函数内的this对象。因此,我们可以在回调函数中使用this.message