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
}