在JavaScript Array中测试JSON值的存在

时间:2011-05-06 22:05:19

标签: javascript jquery arrays json

我有一个JSON对象数组,如下所示:

var myArray = [
  {name:'foo',number:2},
  {name:'bar',number:9},
  {etc.}
]

如何检测myArray是否包含name =“foo”的对象?

4 个答案:

答案 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; }
});