首页 > 解决方案 > 从具有唯一对象键和值的对象列表中删除重复对象

问题描述

var a = [{3.1: 3.2},
{3.1: 3.2},
{3.1: 3.4},
 {2.8: 3},
 {3.1: 3.2},
 {2.8: 2.8},
 {3.1: 3.4},
 {3.1: 3.2},
 {2.6: 2.6},
 {3.1: 3.2},
  {2.6: 2.6}]

如何从对象列表中删除重复对象。我解决了这个问题:-如何从对象数组中删除所有重复项? 但可以适合我的代码。

我在寻找:

[{3.1: 3.2},{3.1: 3.4},{2.8: 3},{2.8: 2.8},{2.6: 2.6},]

标签: javascriptlogic

解决方案


    var a = [{3.1: 3.2},
    {3.1: 3.2},
    {3.1: 3.4},
     {2.8: 3},
     {3.1: 3.2},
     {2.8: 2.8},
     {3.1: 3.4},
     {3.1: 3.2},
     {2.6: 2.6},
     {3.1: 3.2},
      {2.6: 2.6}]
      
    var k = 
      a.map(aa => JSON.stringify(aa))
       .filter((v, i, s) => s.indexOf(v) === i)
       .map(aa => JSON.parse(aa));
       
    console.log(k)

Object.defineProperty(Array.prototype, "then", {
    value: function then(f) {
        return f(this)
    },
    writable: true,
    configurable: true
});

var a = [{3.1: 3.2},
        {3.1: 3.2},
        {3.1: 3.4},
         {2.8: 3},
         {3.1: 3.2},
         {2.8: 2.8},
         {3.1: 3.4},
         {3.1: 3.2},
         {2.6: 2.6},
         {3.1: 3.2},
          {2.6: 2.6}]
          
          
        var k = 
          a.map(aa => JSON.stringify(aa))
           .then(data => [...new Set(data)])
           .map(aa => JSON.parse(aa));
           
        console.log(k)


推荐阅读