forEach()
中文:为每个;
遍历数组且为每个元素调用指定函数,不改变调用数组,没有返回值;
指定函数可以使用三个参数:元素,索引,数组本身;当回调函数仅使用元素参数时,可以省略索引和数组参数;
forEach()无法在所有元素传递给指定函数之前中止遍历,也就不能再里面使用break语句,而for可以。
但是可以通过array[index]可以改变数组值;
let arr = [1, 2, 3];
arr.forEach(element => {
element = element * 2;
console.log(element); //2,4,6
});
console.log(arr); //[1,2,3]
let arr2 = arr.forEach(element => {
element = element * 2;
});
console.log(arr2); //undefined
arr.forEach(
(value, index, arr) => {
arr[index] = value * 2
}
);
console.log(arr); //[2,4,6]
map()
中文:为每个;
调用数组的每个元素传递给指定函数,并返回一个新数组,不会对没有值的数组元素执行函数,不修改调用的数组;
有 3 个参数:元素,索引,数组本身;当回调函数仅使用元素参数时,可以省略索引和数组参数;
如果是稀疏数组,返回的也是相同方式的稀疏数组,相同的长度和缺失元素。
arr.map(element => {
return element * 2;
});
console.log(arr);
let arr1 = arr.map(element => {
return element * 2;
});
console.log(arr1); //[2,4,6]