说我有一个数组
var test = [{a: 26, b:14, c:null},{d:67, e: 8}];
说我想要c的值,我不知道c将具有什么值或哪个数组将具有c;
我正在考虑使用$.grep
,但似乎我可以这样使用它
那我该如何获得c的价值?
修改
根据我的评论进行测试,你可以做到
$.grep(test,function(e){return e.hasOwnProperty('c')})
这将返回包含所需属性的对象/对象的数组
答案 0 :(得分:2)
您需要在此处使用hasOwnProperty
:
for (var i = 0; i < test.length; i++) {
if (test[i].hasOwnProperty('c')) {
alert(test[i].c); // do something with test[i].c
break; // assuming there is only ever 1 item called c, once we find it we can break out of the whole loop.
}
}
正如您所建议的,$.grep
也会起作用:
var objectsThatHaveC = $.grep(test, function(obj) {
return obj.hasOwnProperty('c');
});
if (objectsThatHaveC.length) {
alert(objectsThatHaveC[0].c); // assuming there's only 1 object with a 'c', otherwise you'd still have to loop here
}