小编典典

仅获取数组的唯一值

reactjs

我是javascript新手,我尝试过使用distinct,但它不是我想要的

示例数组:

let arr = [ {key:"1",value:"dog"},
            {key:"1",value:"dog"},
            {key:"2",value:"cat"},
            {key:"3",value:"bird"},
            {key:"3",value:"bird"},
          ]

我尝试的代码上只是删除重复的

[ {key:"1",value:"dog"},
  {key:"2",value:"cat"},
  {key:"3",value:"bird"}, ]

我怎样才能只得到

[ {key:"2",value:"cat"} ]

我的意思是只有一个没有重复的人,并且删除那些完全相同的数组吗?


阅读 241

收藏
2020-07-22

共1个答案

小编典典

如果可以使用下划线或lodash之类的Javascript库,建议您查看它们库中的_.xorBy函数。从lodash:

_.xorBy([arrays], [iteratee=_.identity])

基本上,您传入的数组是此处的对象文字,然后传入您希望对原始数据数组中所有出现的重复副本使用的属性,如下所示:

var data = [ {key:"1",value:"dog"}
          , {key:"1",value:"dog"}
          , {key:"2",value:"cat"}
          , {key:"3",value:"bird"}
          , {key:"3",value:"bird"}
          ];
var non_duplidated_data = _.xorBy(data, 'key');

来源-https:
//lodash.com/docs/4.17.14#xorBy

2020-07-22