Q024:forEach與map的區別

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
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章