一、forEach()
forEach()方法中的function回调支持三个参数,第一个是遍历的内容,第二个是索引,第三个是数组本身。即
[].forEach(function(val,index,arr){
// ...
})
二、map()
这里的map是“映射”的意思,基本用法跟forEach类似,但是可以把原数组映射成一个新的数组。比如:
let data=[1,2,3,4];
var squres=data.map(function(value,index,arr){
console.log(arr[index]===value); // true
return value * value
});
console.log(squares); // [1,9,16]
支持return返回值,return的是啥,相当于把数组的这一项变成啥。
三、总结
1、map速度比forEach快。
2、map会返回一个新数组,不会对原数组产生影响;而forEach不会产生新的数组,只会返回endefined。
3、map因为返回数组,所以可以进行链式操作。
4、map里可以用return,forEach不能;forEach不能用break。