js object 去重

 测试:数据

 let arr = [

                { a: 1, b: 2 },

                { b: 3, a: 4 },

                {

                    b: 2, a: 1

                }

            ]

结果

function unique(arr) {

            const newArr = [...arr]

            for (let i = 0; i < newArr.length; i++) {

                for (let j = i + 1; j < newArr.length; j++) {

                    if (this.duibi(newArr[i], newArr[j])) {

                        newArr.splice(j, 1);

                        j--;

                    }

                }

            }

            return newArr;

            // return Array.from(new Set(arr));

        }



        function duibi(val1, val2) {

            if (isObject(val1) && isObject(val2)) {

                if (val1.length != val2.length) {

                    return false;

                }

                let key1 = Object.keys(val1);

                let key2 = Object.keys(val2);



                for (let k1 of key1) {



                    if (!key2.includes(k1)) {

                        return false;

                    }

                    if (!duibi(val1[k1], val2[k1])) {

                        return false;

                    }

                }

                return true;

            } else {

                return val1 == val2

            }

        }

        //是否为集合

        function isObject(obj) {

            return obj !== null && typeof obj === 'object';

        }

相关推荐

  1. oracle

    2024-01-05 10:46:05       37 阅读
  2. js 数组

    2024-01-05 10:46:05       39 阅读
  3. ArrayList数组

    2024-01-05 10:46:05       6 阅读
  4. sql LISTAGG

    2024-01-05 10:46:05       8 阅读
  5. 问题:数组对象

    2024-01-05 10:46:05       41 阅读
  6. MongoDB——函数Distinct

    2024-01-05 10:46:05       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-05 10:46:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-05 10:46:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-05 10:46:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-05 10:46:05       18 阅读

热门阅读

  1. Spring常用注解!!!

    2024-01-05 10:46:05       45 阅读
  2. 【C++】知识点汇总(下)

    2024-01-05 10:46:05       28 阅读
  3. PyTorch|在张量运算中使用GPU

    2024-01-05 10:46:05       45 阅读
  4. web3: 智能合约

    2024-01-05 10:46:05       50 阅读
  5. 在 pytorch 中支持更多的 onnx 算子

    2024-01-05 10:46:05       47 阅读
  6. [设计模式 Go实现] 创建型~ 原型模式

    2024-01-05 10:46:05       37 阅读
  7. Ansibe自动化基础

    2024-01-05 10:46:05       25 阅读
  8. prototype 和 __proto__

    2024-01-05 10:46:05       37 阅读
  9. 游戏策划:游戏开发中的关键环节

    2024-01-05 10:46:05       38 阅读
  10. 远程控制软件排名(2024)

    2024-01-05 10:46:05       38 阅读