1.forEach()
(1)定义:对数组的每一个人元素执行一次提供的函数,对空数组不执行。
(2)用法:
Arr.forEach(function(currentValue,index,arr),thisValue)
(3)参数:
1)function(currentVaue,index,arr):必须,数组中每个元素所调用的函数。
currentValue:必须,当前元素;
index:可选,当前元素的索引;
arr:可选,当前元素所属的数组对象。
2)thisVaue:可选,传递给函数的值与一般用“this”,若为空,则把“undefined”传递给“this”值。
2.map()
(1)定义:返回一个新的数组,数组中的元素为原始数组调用函数处理后的值,即通过map返回一个与调用它的长度长度相同的数组。
(2)用法:
array.map(function(currentValue,index,arr),thisIndex)
(3)参数:
1)function(currentValue, index, arr)
:必须,为一个函数,数组中的每个元素都会执行这个函数。其中函数参数:
currentValue
:必须,正在处理的数组值。
index
:可选,当前数组项的索引。
arr
:可选,当前在其上调用map方法的数组。
2)thisValue
:可选,对象作为该执行回调时使用,传递给函数,用作"this
"的值。
(4)使用举例:
let array =[1,2,3,4,5];
let newArray =array.map((item)=>{
return item * item;
})
console.log(newArray); // [1, 4, 9, 16, 25]
3.区别:
(1) map()返回一个新数组,原数组不会改变,forEach()对原有数组进行操作;
(2)map()有返回值会分配内存空间储存,forEach()没有返回值,不会返回数据;