当需要重新格式化数组中的对象时,就要想到map。(使用组件库时,接口数据需要配合渲染组件所需要的数据结构等)
let arr=[{label:'name',value:'xiaozhang'},{label:'age',value:'18'}];
const newArr=arr.map(i=>({
title: i.label,
message:i.value,
}));
就是单纯的 循环遍历数组中的有效值的每一项 去执行一次回调函数 返回值是undefined 无法中止或跳出,提前结束循环 不可链式调用
相同点:
1. 都是循环遍历数组中的每一项,,
2. 都支持三个参数 item index arr(原数组),
3. 都不会改变原数组 ,
区别:
1. map() 会返回一个新数组,数组中的元素是原始函数经回调函数处理后的值, forEach() 总是返回undefined(包括空数组的情况)
2. forEach() 方法不会跳过undefined和null, 会跳过空位
注意:使用时记得判空。