1、forEach()
forEach() 针对每一个元素执行提供的函数,对数据的操作会改变原数组;
forEach() 默认无返回值,返回结果为undefined,可以通过在函数体内部使用索引修改数组元素;
使用场景:只是想用数据做一些事情 ,比如存入数据库或则打印出来。
2、map
map() 不会改变原数组的值,返回一个新数组,新数组中的值为原数组调用函数处理之后的值;
map() 有返回值,可以开辟新空间,return出来一个length和原数组一致的数组,即便数组元素是undefined或者是null;
map的处理速度比forEach快,而且返回一个新的数组,方便链式调用其他数组新方法,
比如filter、reduce
let arr = [1, 2, 3, 4, 5];
let arr2 = arr.map(value => value * value).filter(value => value > 10); // arr2 = [16, 25]
使用场景:适用于你要改变数据值的时候。不仅仅在于它更快,而且返回一个新的数组。
如下图实例:
// 方案中心
querySchemeCentres({}).then((res) => {
if (res.data != null) {
res.data = res.data.map((item, index) => {
item.publicityPicturesURL = this.imgUrl + item.publicityPicturesURL
return item
})
}
this.pCenterlist = res.data.slice(0, 8) // 新数据只取前8条
console.log(res.data) // 打印源数据
console.log(this.pCenterlist) // 打印新数据
})