小编在介绍JavaScript数组求和的时候,提到es6中新增的reduce()方法。reduce()方法不仅仅用于数组求和,还可以满足增删查改、去重、平铺数组等需求,当reduce()方法解决每层数组的迭代拼接时,就会起到去重的作用。
1、reduce()方法
可以实现遍历的所有需求,例如增删查改、去重、平铺数组等功能。
2、去重实现原理
reduce()方法解决每层数组的迭代拼接
3、语法
arr.reduce(function(prev,cur,index,arr)
4、参数
prev:表示上一次调用回调时的返回值,或者初始值 init;
cur:表示当前正在处理的数组元素;
index:表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1;
init:表示初始值。
arr:表示原数组;
5、使用reduce()方法数组去重
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);// [1, 2, 3, 4]
以上就是JavaScript中数组去重reduce()方法实现原理及具体实现,希望能对你有所帮助哦~更多JavaScript学习:JavaScript教程。