如何在JavaScript中的JSON数组中找到重复的值?

时间:2019-05-03 11:43:57

标签: javascript arrays node.js json

如何查找json数组中是否存在重复值?

Json数组

{
  "test": [{
      "id": 8,
      "num": 11
    },
    {
      "id": 3,
      "num": 10
    },
    {
      "id": 3,
      "num": 12
    },
  ]
}

1 个答案:

答案 0 :(得分:0)

我们可以通过使用Array.someSet来做到这一点。

const obj = {
  "test": [{
      "id": 8,
      "num": 11
    },
    {
      "id": 3,
      "num": 10
    },
    {
      "id": 3,
      "num": 12
    },
  ]
};


const unique = new Set();
const showError = obj.test.some(element => unique.size === unique.add(element.id).size);

console.log(showError);

我们在这里想要实现的是,我们尝试将obj.test数组中的每个对象添加到unique中,这是一个Set。请注意,Set元素中的每个条目都必须是唯一的。

如果找到重复的id,则无法将其添加到集合中。因此,集合unique的大小不会为该迭代增加,因此,它将导致Array.some()返回true,这表示确实存在重复的id