Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查数组中的对象属性是否与具有相同ID的另一个对象重复_Javascript_Jquery - Fatal编程技术网

Javascript 检查数组中的对象属性是否与具有相同ID的另一个对象重复

Javascript 检查数组中的对象属性是否与具有相同ID的另一个对象重复,javascript,jquery,Javascript,Jquery,我有这样一个数组: var arr = [ {z: '1', val: 'duplicate'}, {z: '1', val: 'duplicate'}, {z: '2', val: 'test'}, {z: '1', val: 'duplicate'}, {z: '2', val: 'test2'} ]; 我需要一个函数来确定具有相同id的对象的属性“val”是否存在任何重复值 因此,在本例中,函数将返回索引0、1和3是重复的。一个简单的解决方案是迭代

我有这样一个数组:

var arr = [
    {z: '1', val: 'duplicate'},
    {z: '1', val: 'duplicate'},
    {z: '2', val: 'test'},
    {z: '1', val: 'duplicate'},
    {z: '2', val: 'test2'}
];
我需要一个函数来确定具有相同id的对象的属性“val”是否存在任何重复值


因此,在本例中,函数将返回索引0、1和3是重复的。

一个简单的解决方案是迭代数组并记录重复项。这是一个天真的解决方案。我相信你能做得更好

功能DUP(arr){
var-map={},
结果=[],
el;
//保存所有元素的地图并记录事件索引
对于(变量i=0;i1){
结果=结果.concat(映射[key].dups)
}
}
返回结果

}
拥有重复的ID违背了将其称为ID的目的。var sorted=arr.sort();var结果=[];对于(var i=0;i-作为键,索引作为值。