reduce用法(reduce用法及搭配)

一、了解:JavaScript reduce() 方法

定义和用法

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

reduce() 可以作为一个高阶函数,用于函数的 compose。

注意: reduce() 对于空数组是不会执行回调函数的

实例

计算数组元素相加后的总和:

var numbers = [65, 44, 12, 4];

function getSum(total, num) {

return total + num;

}

function myFunction(item) {

document.getElementById("demo").innerHTML = numbers.reduce(getSum);

}

输出结果:125

二、去重实例

let log = console.log.bind(console);

let person = [

{id: 0, name: "小明"},

{id: 1, name: "小张"},

{id: 2, name: "小李"},

{id: 3, name: "小孙"},

{id: 1, name: "小周"},

{id: 2, name: "小陈"},

];

let obj = {};

person = person.reduce((cur,next) => {

obj[next.id] ? "" : obj[next.id] = true && cur.push(next);

return cur;

},[]) //设置cur默认类型为数组,并且初始值为空的数组

log(person);