如何查找json数组中是否存在重复值?
Json数组
{
"test": [{
"id": 8,
"num": 11
},
{
"id": 3,
"num": 10
},
{
"id": 3,
"num": 12
},
]
}
答案 0 :(得分:0)
我们可以通过使用Array.some和Set来做到这一点。
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
。