复习一下js的数据处理
我一直认为each和map是一样的 打脸了 …
说正事
map和forEach主要作用是对数组的每个元素执行一次提供的函数,
语法:item都代表当前对象 index表示当前索引 array 表示当前循环的对象 一般前两个参数就够了
forEach使用方法
array.forEach(callback(currentValue, index, array){
//do something
}, this)
或者
array.forEach((item,index, array)=>{
//do something
})
map使用方法
const updated = arr1.map(function(item){
console.log(item)
return item.id == newValue.id ? newValue : item ;
});
map和foreach的区别
map 用于遍历【数组】产生一个新的元素值,返回一个新数组为这些新值的集合
forEach 适合于你并不打算改变数据的时候,而只是想用数据做一些事情 – 比如存入数据库或则打印出来。
forEach() 返回值是underfined, 不可以链式调用
map() 返回一个新数组, 原数组不会改变.
没有办法终止或者跳出forEach() 循环, 除非抛出异常
map: 创建一个新数, 其中每一个元素由调用数组想执行一个数组是否满足什么条件, 返回布尔值, 可以用一般的for循环实现, 或者用array.every() 和 array.some()