gpt4 book ai didi

javascript - 删除对象属性不唯一的数组项

转载 作者:行者123 更新时间:2023-11-30 09:36:30 24 4
gpt4 key购买 nike

我有一个包含对象的数组,我需要根据 data-itemid 属性删除重复项。

这是我的代码:

const ListItemsUnique = []
ListItems.map(item => {
if (ListItemsUnique.indexOf(item.props['data-itemid']) === -1) {
ListItemsUnique.push(item)
}
});

它返回与之前完全相同的数组,我做错了什么?

最佳答案

如果你使用的是 ES6,试试这个,

const ListItemsUnique = [...new Set(ListItems.map(item => item.props['data-itemid']))];

编辑 1:

let data = [
{
name: 'John',
"data-itemid": 2
},
{
name: 'Doe',
"data-itemid": 1
},
{
name: 'James',
"data-itemid": 1
},
{
name: 'Clerk',
"data-itemid": 2
}
];

// Use Map (ES6) to retain only unique elements
let map = new Map();
for (element of data) {
map.set(element["data-itemid"], element);
}


var filteredData = [];
map.forEach( (value) => {
filteredData.push(value);
});

console.log(filteredData,"filteredData");

演示:https://codepen.io/vedp/pen/RpmVvx?editors=0011

关于javascript - 删除对象属性不唯一的数组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43254382/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com