JS中map()与forEach()的用法
[].forEach(function(value,index,array){
//
code
something
});
[].map(function(value,index,array){
//
code
})
相同点:
1.都是循环遍历数组中的每一项
2.每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),arr(原数组)
3.匿名函数中的this都是指向window
4.只能遍历数组
不同点:
forEach() 方法对数组的每个元素执行一次提供的函数。总是返回undefined;
map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。返回值是一个新的数组;
例子如下:
var array1 = [1,2,3,4,5]; var x = array1.forEach(function(value,index){ console.log(value); //可遍历到所有数组元素 return value + 10 }); console.log(x); //undefined 无论怎样,总返回undefined
var y = array1.map(function(value,index){ console.log(value); //可遍历到所有数组元素 return value + 10 }); console.log(y); //[11, 12, 13, 14, 15] 返回一个新的数组