复杂数组去重

发布于 2022-09-11 18:23:59 字数 358 浏览 13 评论 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]]

请问如何实现呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鹿童谣 2022-09-18 18:23:59

同级去重,没有对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;
}; 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文