我有一个变量 data
对象数组。现在我想检查是否有除 0 以外的重复值。到目前为止我所做的是下面的代码片段:
警报显示为真,它应该为假,因为 0 未包含在检查中。请帮忙。谢谢
var data = [{id: 0}, {id: 1}, {id: 3}, {id: 0},];
var checkdata= data.map(function(item){
return item.id });
var isDuplicatedata= checkdata.some(function(item, idx){
return checkdata.indexOf(item) != idx
});
alert(isDuplicatedata)
最佳答案
您可以使用 Array.prototype.some()
The
some()
method tests whether some element in the array passes the test implemented by the provided function.
和一个临时对象。
var data = [{ id: 0 }, { id: 1 }, { id: 3 }, { id: 0 } ],
object = {},
duplicate = data.some(function (a) {
if (a.id === 0) {
return false;
}
if (a.id in object) {
return true;
}
object[a.id] = true;
});
document.write(duplicate);
关于javascript - 如何检查数组中除 0 javascript 之外的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34740869/