JS中map()與forEach()的區別和用法


相同點:

1.都是循環遍歷數組中的每一項

2.每次執行匿名函數都支持三個參數,參數分別為item(當前每一項),index(索引值),arr(原數組)

3.匿名函數中的this都是指向window

4.只能遍歷數組

 

不同點:

map()

map方法返回一個新的數組,數組中的元素為原始數組調用函數處理后的值

也就是map()進行處理之后返回一個新的數組

⚠️注意:map()方法不會對空數組進行檢測

map方法不會改變原始數組

var arr = [0,2,4,6,8];
var str = arr.map(function(item,index,arr){
console.log(this); //Window
console.log(this);
console.log(item);
console.log('原數組arr:',arr); // 會執行五次
return item/2;},this);console.log(str); //[0,1,2,3,4]
forEach

 

forEach方法用於調用數組的每個元素,將元素傳給回調函數

⚠️注意: forEach對於空數組是不會調用回調函數的 ,

沒有返回一個新數組&沒有返回值

應用場景:為一些相同的元素,綁定事件處理器!

不可鏈式調用 

var arr = [0,2,4,6,8]

var sum =0;

var str = arr.forEach(item,index.arr){sum+= item;console.log("sum的值為:",sum);})


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM