0

问题描述

有如下结构的数组

let testArr = [1, 1, 3,'hello', [3, 4, 4,'hello', '5', [5, 5, ['a', 'r']]], {
    key: 'test'
}, 4,[ 3, 0, 2, 3]]

希望得到去重的数组,不能改变内层数组的结构,希望的结构如下:

[1, 3,'hello', [3, 4, 'hello','5', [5,  ['a', 'r']]], {
    key: 'test'
}, 4,[ 3, 0, 2]]

请问如何实现呢?

3月14日提问
1 个回答
1

已采纳

同级去重,没有对object的key去重


const intersection = arr => {
    const uniq = [];
    for (let item of arr) {
        if (item instanceof Array) {
            uniq.push(intersection(item));
        } else {
            if (!uniq.includes(item)) {
                uniq.push(item);
            }
        }
    }
    return uniq;
}; 

撰写答案

推广链接