javascript - 如何检查数组中除 0 javascript 之外的重复项

标签 javascript arrays duplicates

我有一个变量 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/

相关文章:

javascript - 获取字符串中第 n 次出现的索引

arrays - 如何编写查询对象内部数组的mongo查询?

linux - 搜索相似的重复文件名(文件名末尾的日期戳不同)

ruby - 在数组中查找重复项——如何更快?

javascript - jQuery 验证边框颜色

javascript - 我可以在哪里进行 JavaScript 协作,类似于 CodeHS

javascript - 有没有一种有效的方法可以从 JavaScript 中的数组中获取某种类型的所有值?

c - 当我尝试在结构体数组中给出值时,为什么我的程序会停止?

google-apps-script - 使用脚本复制谷歌工作表,同时保留 protected 工作表的权限

javascript - jquery 输入元素取消选择文本事件?