📅  最后修改于: 2023-12-03 15:16:05.244000             🧑  作者: Mango
在Javascript中,有很多种循环方式可以用来遍历数组,其中 forEach()
是一种常用的循环方式。本文将详细介绍 forEach()
的使用方法和特性。
forEach()
的语法如下:
array.forEach(function(currentValue, index, arr), thisValue)
其中:
array
是要循环的数组。function(currentValue, index, arr)
是回调函数,用于处理数组中的每个元素。它有三个参数:currentValue
:当前遍历到的元素。index
:当前元素的下标。arr
:当前正在遍历的数组。thisValue
是可选参数,用于指定回调函数内部的 this
的值。以下是一个简单的例子,使用 forEach()
循环遍历一个数组:
let arr = [1, 2, 3, 4, 5];
arr.forEach((item, index) => {
console.log(`Item ${index} is ${item}`);
});
输出结果如下:
Item 0 is 1
Item 1 is 2
Item 2 is 3
Item 3 is 4
Item 4 is 5
forEach()
有以下几个特性:
break
或 return
跳出循环forEach()
循环无法使用 break
或 return
来跳出循环,因为它会一直执行到数组的最后一个元素。如果需要在循环内部跳出循环,可以使用 some()
或 every()
方法。
forEach()
循环不会修改原数组,因为它只是遍历数组中的每个元素。
虽然 forEach()
循环不会修改原数组,但是可以通过回调函数对数组中的元素进行更改,例如:
let arr = [1, 2, 3, 4, 5];
arr.forEach((item, index, arr) => {
arr[index] = item * item;
});
console.log(arr); // [1, 4, 9, 16, 25]
forEach()
会跳过数组中的空元素(值为 undefined
或者 null
),例如:
let arr = [1, 2, undefined, 4, null, 5];
arr.forEach((item, index) => {
console.log(`Item ${index} is ${item}`);
});
输出结果如下:
Item 0 is 1
Item 1 is 2
Item 3 is 4
Item 5 is 5
this
的值forEach()
的第二个参数 thisValue
可以用来指定回调函数内部的 this
的值,例如:
let obj = {total: 0};
let arr = [1, 2, 3, 4, 5];
arr.forEach(function(item) {
this.total += item;
}, obj);
console.log(obj.total); // 15
forEach()
是一种常用的循环方式,可以用来遍历数组。它有以下几个特性:
break
或 return
跳出循环;this
的值。