JavaScript的唯一密钥值
问题描述:
我需要找出,有没有在对象的阵列的某些关键对象:值 例如,如果我需要的关键的“id”是唯一的:JavaScript的唯一密钥值
arr=[
{id:1, attr1:'435',attr2:'sdg'},
{id:2, attr3:'4x35',attr2:'sdg'}
];
a={id:1,attr2:'nnsklnf'};
b={id:3,attr3:'kldfmlkdblng'};
function isHaveSimilar(_a,_array){
// ... ???
}
isHaveSimilar(a,arr); // true
isHaveSimilar(b,arr); // false
也许有比简单的检查每个元素更简单的方法? Thx)
答
function hasSimilar(needle, haystack) {
for (item in haystack) {
if (haystack[item].id == needle.id) {
return true;
}
}
return false;
}
hasSimilar(a, arr); // true
hasSimilar(b, arr); // false
+0
谢谢。我也没有看到另一种方式。想想也许有些东西可以用jQuery在一行中解决它,或者在JSON中使用一些函数,但它可能没用,但只是好奇:] – 2oppin
不,我相信“无礼检查”就是这样。 – lanzz