reduce()
let array = [
{name:'张三', age:12},
{name:'李四', age:22},
{name:'王五', age:32},
{name:'赵六', age:42}];
let temp = array.reduce((num,item)=> {
return item.age + num
},0);
console.log(temp);
console.log(array);
let arr = [[0, 1], [2, 3], [4, 5]]
let newArr = arr.reduce((pre,cur)=>{
return pre.concat(cur)
},[])
console.log(newArr);
let arr = [[0, 1], [2, 3], [4,[5,6,7]]]
const newArr = function(arr){
return arr.reduce((pre,cur)=>pre.concat(Array.isArray(cur)?newArr(cur):cur),[])
}
console.log(newArr(arr));
let arr = [1,2,3,4,4,1]
let newArr = arr.reduce((pre,cur)=>{
if(!pre.includes(cur)){
return pre.concat(cur)
}else{
return pre
}
},[])
console.log(newArr);
let names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];
let nameNum = names.reduce((pre,cur)=>{
if(cur in pre){
pre[cur]++
}else{
pre[cur] = 1
}
return pre
},{})
console.log(nameNum);
- 用于对数组中的所有元素调用指定的回调函数,
该回调函数的返回值为累积结果,
并且此返回值在下一次调用该回调函数时作为参数提供
示例:file上传文件大小不能超过4M可以使用reduce() 对file对象里的size属性求和