繁体   English   中英

在JavaScript Array中测试JSON值的存在

[英]Test existence of JSON value in JavaScript Array

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

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

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

除非我遗漏了某些内容,否则你应该至少使用每个内容来提高可读性而不是地图。 为了性能,你应该在找到你想要的东西之后打破它们,没有理由继续循环:

var hasFoo = false;
$.each(myArray, function(i,obj) {
  if (obj.name === 'foo') { hasFoo = true; return false;}
});  
for(var i = 0; i < myArray.length; i++) { 
   if (myArray[i].name == 'foo') 
        alert('success!') 
 }

有了这个:

$.each(myArray, function(i, obj){
   if(obj.name =='foo')
     alert("Index "+i + " has foo");
});

干杯

var hasFoo = false;
$.map(myArray, function(v) {
  if (v.name === 'foo') { hasFoo = true; }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM