gpt4 book ai didi

javascript - 如何在 JavaScript 中查找对象数组中的重复项?

转载 作者:行者123 更新时间:2023-12-01 00:27:20 24 4
gpt4 key购买 nike

我想要实现什么目标?

所以我有一个数组需要检查重复项,如果找到重复项,我想暂时使用 console.log 显示找到的重复项。我必须补充一点,这段代码基于一个函数。

然后,用户将使用前端中的一些输入添加到此数组,这是我目前已完成的,但不需要解决此问题。

这是我的数组,我想在下面查找其中是否有重复项。

  const repeatedNumEvent = {
PlayerNumber: this.state.PlayerNumber,
eventType: this.state.eventType
};

基本上,如果新的数组对象具有相同的值,则显示重复项

我假设我必须使用 .length 函数使用 for 循环,但我不确定如何完成我的任务。

下面可能的数组数据

{PlayerNumber: "12", eventType: "Goal"}

如果您有任何问题,请在下面提问。谢谢。

最佳答案

下面应该可以解决问题。它将循环数组并检查我们是否已经拥有该项目。它将按要求 console.log 进行操作,同时还会为您留下一组不同且重复的项目,以便根据需要进行处理

演示:

const data = [
{PlayerNumber: "13", eventType: "Goal"},
{PlayerNumber: "13", eventType: "Goal"},
{PlayerNumber: "12", eventType: "Goal"},
{PlayerNumber: "12", eventType: "Goal"},
{PlayerNumber: "14", eventType: "Goal"}
];

let distinct = [];
let duplicates = [];
data.forEach((item, index, object) => {
if (distinct.find(current => current.PlayerNumber === item.PlayerNumber && current.eventType === item.eventType)) {
console.info('duplicate found');

duplicates.push(item);
} else {
distinct.push(item);
}
});

console.info('duplicates:', duplicates);
console.info('distinct:', distinct);

关于javascript - 如何在 JavaScript 中查找对象数组中的重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58869626/

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