如何解决如何将特定属性转换为集合数据结构
我有一个像这样的数组
let x1=[{"data":"hello","id":2},{"data":"hellr","id":17},"id":24}]
这是一个示例数组。该数组的巨大作用是将其转换为属性数据集。有没有办法做到这一点,以便我可以删除重复的数据?
解决方法
您可以将结果从Array#map
传递到Set
构造函数,以找到所有唯一的data
值。
let x1=[{"data":"hello","id":2},{"data":"hellr","id":17},"id":24}];
const set = new Set(x1.map(({data})=>data));
console.log([...set]);
如果需要对象本身,则可以在添加到Array#filter
时使用Set
。
let x1=[{"data":"hello","id":24}];
const set = new Set;
const res = x1.filter(({data})=>!set.has(data) && set.add(data));
console.log(res);
,
好吧,这是快速而草拟的方式
let x2 = new Set(
x1.map(({ data }) => {
return data
})
)
,
很抱歉,如果我不能正确理解您的问题,但是如果您要删除数组中具有相同data
值的重复对象,则可以这样做
let x1 = [{"data":"hello","id":24}];
x1 = x1.filter((item,index,self) => self.findIndex(i => i.data === item.data) === index);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。