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

相同點:數組

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

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

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

4.只能遍歷數組事件

 

不一樣點:回調函數

map()it

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

也就是map()進行處理以後返回一個新的數組console

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

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);})

相關文章
相關標籤/搜索