• 技术文章 >Web开发 >JavaScript

    js实现嵌套数组对象去重

    宋雪维宋雪维2021-01-07 15:24:28原创3971

    在JavaScript学习中,小编向大家将介绍过for循环嵌套三元运算符与if-else嵌套方法。那么对于前逃过的数组,如果出现重复不需要的元素又该如何操作呢?本文提供两种嵌套数组对象去重方法:1、可以将各种格式转成字符串,对格式一致的对象数组实现去重。2、数组去除嵌套之后再去重。

    1、可以将各种格式转成字符串,对格式一致的对象数组实现去重。

    const data =[{name:1,age:1},{name:2,age:2},{name:1,age:1},{name:2,age:2}]
    const ChangeArr = (data) => {
      const newdata = data.map(item => (JSON.stringify(item)))
      return [...new Set(newdata)]
    }
    console.log(ChangeArr(data))
    // ["{"name":1,"age":1}", "{"name":2,"age":2}"]

    2、数组去除嵌套之后再去重。

    function unite(arr1, arr2, arr3) {                        //数组拆嵌套再去重
        for(var i=1;i<arguments.length;i++)
        {
            arr1.push(arguments[i]);
        }
        const flatten = (arr) => {
            return arr.reduce(
                function(acc,val) {
                return acc.concat(Array.isArray(val) ? flatten(val) : val);
            },[]);
        };
        arr1 = flatten(arr1);
        // var obj = {};
        // var array = [];
        function unique(array1){
        return array1 = array1.filter(function(item,index,array){
        return array1.indexOf(item) === index;
      });
        }
        arr1 = unique(arr1);
        return arr1;
    }
    c(unite([1, 3, 2], [5, 2, 1, 4], [2, 1]));

    以上就是小编整理总结的两种嵌套数组对象去重方法,第一种虽然操作简单,但是前提要求数据结构严格,要注意哦~

    专题推荐:js嵌套数组对象去重
    上一篇:js中三元运算符与if-else嵌套方法 下一篇:js数组遍历map方法

    相关文章推荐

    • python behold库是什么?• python Faker库如何使用?• python中缺少module怎么办?• python中sys.stdout.write() 怎么用?• python中sys模块是什么?• 如何使用python实现图片处理?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网