js数组去重方法

方法一:

function removeDuplicatedItem(ar) {
      var ret = [];
  
      for (var i = 0, j = ar.length; i < j; i++) {
          if (ret.indexOf(ar[i]) === -1) {
              ret.push(ar[i]);
          }
      }
  
     return ret;
 }
方法二:
1
2
3
4
5
6
7
8
const TestArray = [[0, 1], [2, 3], [4, 5, [23, 434, 656, 54, ['23', '342']]]];
const convertOneArr = arr => arr.reduce(
(acc, item) => acc.concat(
Array.isArray(item) ? convertOneArr(item) : item
),
[]
);
console.log('convertOneArr(TestArray)', convertOneArr(TestArray));

Array.prototype.reduce() 介绍

arr.reduce(callback,[initialValue])

参数

    • callback: 执行数组中每个值的函数,包含四个参数

      accumulator: 上一次调用回调返回的值,或者是提供的初始值(initialValue)
      currentValue: 数组中正在处理的元素
      currentIndex: 数据中正在处理的元素索引,如果提供了 initialValue ,从0开始;否则从1开始
      array: 调用 reduce 的数组

    • initialValue: 可选项,其值用于第一次调用 callback 的第一个参数。

      返回值

      函数累计处理的结果
原文地址:https://www.cnblogs.com/lvzhiyiboke/p/6549411.html