gpt4 book ai didi

javascript - 通过比较子属性( typescript )从数组中删除 'duplicate' 对象

转载 作者:行者123 更新时间:2023-12-04 09:04:24 26 4
gpt4 key购买 nike

我从服务器接收到一组复杂对象。我想通过每个对象的子属性过滤原始数组以获取具有唯一对象的新数组,即:

let arr1 = originalArray;
let arr2 = originalArray.filter((ele, idx, arr) => ....

例如,现在 arr1 由 3 个对象组成:
firstObj = {
id: 0,
Details:
{
License: 123456
},
name: 'abc'
};
secondObj = {
id: 1,
Details:
{
License: 131313
},
name: 'xcd'
};
thirdObj = {
id: 2,
Details:
{
License: 123456
},
name: 'bcd'
};

所以,我想过滤数组,使新返回的数组只包含两个对象,其中“许可证”属性是唯一的,也就是说,将删除具有相同“许可证”的对象之一。谢谢。

最佳答案

您可以使用array.reduce如果它不包含相同的 Details.License,则循环遍历源数组并将项目添加到结果中

let result = [firstObj, secondObj, thirdObj].reduce((arr, item) => {
let exists = !!arr.find(x => x.Details.License === item.Details.License);
if(!exists){
arr.push(item);
}
return arr;
}, []);

关于javascript - 通过比较子属性( typescript )从数组中删除 'duplicate' 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50666121/

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