1.首先,两个都是循环遍历数组的方法
forEach和map方法里的每次执行,匿名函数都支持3个参数,参数分别是item(当前每一项)、index(索引值)、arr(原数组)
map方法不改变原数组,this指向window
map()方法不会对空数组进行检测。
map 有返回值
//求数组的平方和,不改变原数组
function square(arr) {
var a = arr.slice(0)
a = a.map(function(item,index,arr) {
return item*item
})
return a
}
2.forEach方法用于调用数组的每个元素,将元素传给回调函数
数组中有几项,那么传递进去的匿名回调函数就需要执行几次
forEach 没有返回值
function square(arr){
var a=[];
arr.forEach(function(val){
a.push(val*val)
})
return a
}