forEach、filter、map都可以遍歷數組,那么三者有什么區別?
區別:
forEach遍歷數組全部元素,利用回調函數對數組進行操作,不會返回新的數組,return只用于控制循環是否跳出當前循環;
filter返回一個新的數組,filter方法需要在循環的時候判斷一下是true還是false,是true才會返回這個元素;
map根據當前數組映射出一個新的數組,返回新的被改變過值之后的數組,需要return。
2.forEach主要用于改變當前數組里面的值,比如:
?let arrOne = [{name:'小明', age: 14},{name:'小華', age: 11},{name:'小紅', age: 15},{name:'小黃', age: 17},]arrOne.forEach(item => {item.name = ?item.name + 'update'})console.log(arrOne)
filter主要用于過濾當前數組,找出符合條件的元素,返回一個新的數組,不會改變原數組比如:
let arrOne = [{name:'小明', age: 14},{name:'小華', age: 11},{name:'小紅', age: 15},{name:'小黃', age: 17},]let arrNew = arrOne.filter(item => {return item.age > 11})console.log(arrOne)console.log(arrNew)
map則可以改變當前循環的值,返回一個新的被改變過值之后的數組,一般用來處理需要修改某一個數組的值。
?let arrOne = [{name:'小明', age: 14},{name:'小華', age: 11},{name:'小紅', age: 15},{name:'小黃', age: 17},]let arrNew = arrOne.map(item => {return item.age + 10})console.log(arrOne)console.log(arrNew)