Js reduce方法的使用

先看一个例子

// 去重
const numArr2 = [1, 2, 2, 3, 4, 5, 6, 6]; // 这里是普通数组去重,对象数组去重跟这个例子方法不同

const newNumArr2 = numArr2.reduce((item, next) => {
  item.indexOf(next) === -1 && item.push(next);
  return item;
}, []);

item: 目前已经得到的返回值(上一次回调函数的结果), 初始是设置的第二个参数,例子是[];

next: next是将要操作的下一项,例子第一项是1;

所以,例子第一步是判断[]里是否包含next即1,不包含,所以item变为[1],第二步判断[1]里是否包含2,

不包含,所以item变为[1,2],第三步,item[1,2]里已经包含next即2,item不做操作,依旧是[1,2],

以此类推,得到最后的结果newNumArr2 = [1,2,3,4,5,6]。

原文地址:https://www.cnblogs.com/atao24/p/15219505.html