为了账号安全,请及时绑定邮箱和手机立即绑定

如何将特定属性转换为集合数据结构

如何将特定属性转换为集合数据结构

慕哥9229398 2022-12-29 09:40:02
我有一个数组let x1=[{"data":"hello","id":2},{"data":"hellr","id":17},{"data":"hellr","id":24}]这是一个示例数组。数组很大,我想要将其转换为属性数据集。有没有办法做到这一点,以便我可以删除重复数据?
查看完整描述

3 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

好吧,这是快速而草稿的方式


let x2 = new Set(

  x1.map(({ data }) => {

    return data

  })

)


查看完整回答
反对 回复 2022-12-29
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

对不起,如果我没有正确理解你的问题,但如果你想删除data数组中具有相同值的重复对象,你可以这样做


let x1 = [{"data":"hello","id":2},{"data":"hellr","id":17},{"data":"hellr","id":24}];


x1 = x1.filter((item, index, self) => self.findIndex(i => i.data === item.data) === index);



查看完整回答
反对 回复 2022-12-29
?
暮色呼如

TA贡献1853条经验 获得超9个赞

您可以将结果传递Array#map给Set构造函数以查找所有唯一data值。


let x1=[{"data":"hello","id":2},{"data":"hellr","id":17},{"data":"hellr","id":24}];

const set = new Set(x1.map(({data})=>data));

console.log([...set]);


如果您需要对象本身,您可以Array#filter在添加到Set.


let x1=[{"data":"hello","id":2},{"data":"hellr","id":17},{"data":"hellr","id":24}];

const set = new Set;

const res = x1.filter(({data})=>!set.has(data) && set.add(data));

console.log(res);


查看完整回答
反对 回复 2022-12-29
  • 3 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号