gpt4 book ai didi

javascript - 如何检查对象数组是否具有具有更多属性的重复属性值?

转载 作者:行者123 更新时间:2023-11-28 16:47:09 25 4
gpt4 key购买 nike

我搜索了 StackOverflow 并找到了这个 answer ,但这并不能解决我的问题。

我的问题是,我的数组是这样的:

let arr = [
{type: 1, id: 1, name:'aa'},
{type: 1, id: 1, name:'bb'},
{type: 2, id: 1, name:'cc'}
]

我需要找到相同的type和相同的id,然后识别出这是重复的对象。上面的 arr[0]arr[1] 是重复的,但 arr[0]arr[2] 不是。我尝试过使用 ES6 方法,例如 .some().every()Set(),但这些方法都没有为我工作。我该如何解决这个问题?

最佳答案

您可以使用.map()将每个对象映射到字符串。每个字符串都采用该对象的 type-id 形式。然后,使用 Set 您可以删除所有重复的字符串。然后,您可以检查设置的大小是否等于数组长度,以确定数组中是否存在重复项:

const containsDups = arr => new Set(arr.map(({type, id}) => `${type}-${id}`)).size !== arr.length;

const arr = [{type: 1, id: 1, name:'aa'},{type: 1, id: 1, name:'bb'},{type: 2, id: 1, name:'cc'}];
console.log(containsDups(arr));

关于javascript - 如何检查对象数组是否具有具有更多属性的重复属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60389972/

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