我有一个JSON对象数组,如下所示:
var myArray = [
{name:'foo',number:2},
{name:'bar',number:9},
{etc.}
]
如何检测myArray是否包含name =“foo”的对象?
答案 0 :(得分:8)
除非我遗漏了某些内容,否则你应该至少使用每个内容来提高可读性而不是地图。为了表现,你应该在找到你想要的东西后打破每一个,没有理由继续循环:
var hasFoo = false;
$.each(myArray, function(i,obj) {
if (obj.name === 'foo') { hasFoo = true; return false;}
});
答案 1 :(得分:1)
for(var i = 0; i < myArray.length; i++) {
if (myArray[i].name == 'foo')
alert('success!')
}
答案 2 :(得分:1)
有了这个:
$.each(myArray, function(i, obj){
if(obj.name =='foo')
alert("Index "+i + " has foo");
});
干杯
答案 3 :(得分:0)
var hasFoo = false;
$.map(myArray, function(v) {
if (v.name === 'foo') { hasFoo = true; }
});