【问题标题】:how to return duplicates elemements from object array如何从对象数组中返回重复元素
【发布时间】:2023-01-26 23:19:23
【问题描述】:
data= [
  { "id": 0, "name": "name1", "age": 12, "city": "cityA" },
  { "id": 1, "name": "name2", "age": 7, "city": "cityC" },
  { "id": 2, "name": "name3", "age": 23, "city": "cityB" },
  { "id": 2, "name": "name1", "age": 12, "city": "cityA" }
];

我如何退回具有相同名称和年龄的物品?

我正在尝试这样的事情,但它返回数组中的每个元素

data.some(d => {
for (const it of form) {
if (it.name == d.name && it.age == d.age) {
arr.push(it)....

【问题讨论】:

    标签: arrays angular typescript


    【解决方案1】:

    您必须确保您没有与同一项目进行比较,其中属性始终匹配:

    data= [
      { "id": 0, "name": "name1", "age": 12, "city": "cityA" },
      { "id": 1, "name": "name2", "age": 7, "city": "cityC" },
      { "id": 2, "name": "name3", "age": 23, "city": "cityB" },
      { "id": 2, "name": "name1", "age": 12, "city": "cityA" }
    ];
    
    const res = data.filter(item => data.some(i => i !== item && item.name === i.name && item.age === i.age))
    console.log(res)

    【讨论】:

    • 感谢您的快速回复,但是,这会返回两个元素,而我只希望其中一个显示元素已经存在的消息
    猜你喜欢
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    • 2019-12-05
    • 1970-01-01
    相关资源
    最近更新 更多