如何获取数组中的重复元素

鲁帕姆

我在 ReactJs 中编写代码我有一个像这样的对象数组

[
{
        createdBy: "DEF",
        createdDate: "2020",
        lastModifiedDate: "2021",
        name: "John Doe",
        section: {
            createdBy: "A2C",
            status: "ACTIVE",
        },
        sectionName: "Mechanical",
    },

{
        createdBy: "ABC",
        createdDate: "2020",
        lastModifiedDate: "2021",
        name: "John Doe",
        section: {
            createdBy: "ABC",
            status: "ACTIVE",
        },
        sectionName: "Mechanical",
    },

    {
        createdBy: "ABC",
        createdDate: "2020",
        lastModifiedDate: "2021",
        name: "John Doe",
        section: {
            createdBy: "XYZ",
            status: "ACTIVE",
        },
        sectionName: "Mechanical",
    },

    {
        createdBy: "A1C",
        createdDate: "2020",
        lastModifiedDate: "2021",
        name: "John Wick",
        section: {
            createdBy: "ABC",
            status: "ACTIVE",
        },
        sectionName: "Mechanical",
    },
];

在这里,唯一相同的是“名称”,因此基于名称,我希望将重复的对象存储在新数组中。

我试过这样

let temp = [];
for (const i of response) {
    if (!temp.includes(i)) {
        temp.push(i);
        console.log("if loop", i);
    } else {
        console.log("else loop", response);
    }
}

但控制永远不会转到其他,因为它认为每个对象都是不同的。

我需要一个对象的第一次出现,但是当“名称”元素被重复时,该对象应该存储在一个新数组中。

预期的:-

[
    {
        createdBy: "ABC",
        createdDate: "2020",
        lastModifiedDate: "2021",
        name: "John Doe",
        section: {
            createdBy: "ABC",
            status: "ACTIVE",
        },
        sectionName: "Mechanical",
    },
    {
        createdBy: "ABC",
        createdDate: "2020",
        lastModifiedDate: "2021",
        name: "John Doe",
        section: {
            createdBy: "XYZ",
            status: "ACTIVE",
        },
        sectionName: "Mechanical",
    },


]
萨吉布·艾哈迈德

你可以维护一个tracker对象来检查同名的对象是否已经被访问过。如果访问,则将对象duplicate推入unique数组,否则推入数组。尝试这个-

const data=[{createdBy:"ABC",createdDate:"2020",lastModifiedDate:"2021",name:"John Doe",section:{createdBy:"ABC",status:"ACTIVE"},sectionName:"Mechanical"},{createdBy:"ABC",createdDate:"2020",lastModifiedDate:"2021",name:"John Doe",section:{createdBy:"A2C",status:"ACTIVE"},sectionName:"Mechanical"},{createdBy:"A1C",createdDate:"2020",lastModifiedDate:"2021",name:"John Doe",section:{createdBy:"ABC",status:"ACTIVE"},sectionName:"Mechanical"}];

const track = {};
const unique = [];
const duplicate = [];

for (const item of data) {
    if (track?.[item.name] === undefined) {
        unique.push(item);
        track[item.name] = true;
    } else {
        duplicate.push(item);
    }
}

console.log('unique', unique);
console.log('duplicate', duplicate);
.as-console-wrapper {min-height: 100%!important; top: 0}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何计算的ArrayList中的重复元素?

如何将MYSQL中的重复元素转换为数组?

在数组中查找非重复元素

查找函数,用于数组中的重复元素

如何查找Java EE中数组中重复元素的出现次数?

如何将列表中的重复元素放入数组中?

如何在C ++中查找重复元素的索引?

如何过滤数组以仅保留其重复元素?

在排序的数组中查找np数组的ID(或索引),并包含可能的重复元素

根据范围替换numpy数组中的重复元素

如何使用JavaScript添加具有不同元素的数组并添加重复元素值

如何仅打印python列表中的重复元素

Couchbase:如何维护没有重复元素的数组?

如何计算数组中相邻的重复元素?

如何使用BITWISE运算符删除数组中的重复元素?

Dart如何获取列表中的最大重复元素

如何在Python中删除列表中的重复元素

如何在元组中重复元素n次

如何有效地消除双精度数组中的重复元素(在C中)?

如何在PHP中合并此数组的重复元素?

如何返回包含子列表的列表中的重复元素?

如何从JS数组中过滤掉重复元素?

获取重复元素名称的 XML 中的属性值

计算重复元素中的数组

如何在c()函数中重复元素?

数组中的随机项目,在 Javascript 中不重复元素

Athena:如何检查不同行数组中重复元素的数量

如何在 Pandas Dataframe 的列列表中获取非重复元素的计数?

如何使用PHP将具有相同重复元素的子数组的数组输出到XML中

如何计算numpy 2d数组中的重复元素?

TOP 榜单

热门标签

归档