Array.prototype.map(callback,thisArg)
返回一个由回调函数的返回值组成的新数组。
let arr=[1,2,3,4,5];
let arr_new=arr.map((item)=>{
return item*item;
})//arr_new=[1,4,9,16,25],arr=[1,2,3,4,5]
- callback:自动传入三个参数
- 第一个:数组元素
- 第二个:元素索引
- 第三个:数组本身
- thisArg:如果有值,则每次
callback函数被调用的时候,this都会指向thisArg参数上的这个对象。如果省略或赋值为null、undefined,则this指向全局对象。
Array.prototype.flatMap(callBack,thisArg)
首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。与`map`和深度值为1的`flat`几乎相同
let arr=[1,2,3,[4]]
arr.flatMap((item)=>{
return item*item
});//[1,4,9,16]
- Array.prototype.flat(depth)
flat()方法会递归到指定深度将所有的子数组拼接成为一个新的数组 参数:depth(可选),指定潜逃数组中的结构深度,默认值为1
var arr=[1,[2,[3]]]
var arr2=arr.flat(2)//[1,2,3]
Array.prototype.reduce(callback,initiaValue)
对数组中的每个元素(从左向右)执行一个`callback`函数,将其结果汇总返回单个返回值
- 回调函数(callback)接收4个参数
- total 必须,初始值,或者计算结束后的返回值
- item 必须。当前元素
- index 可选。当前元素的索引
- arr 可选。当前元素所属的数组对象
- initiaValue 可选,传递给函数的初始值
var arr=[1,2,3]
let num=arr.reduce((total,item)=>{
return total+item
});//6
参考:MDN