方法一:
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 的第一个参数。返回值
函数累计处理的结果