检查json对象数组中的值

时间:2016-03-08 02:32:41

标签: javascript jquery json

下面是我的代码片段,如果有"状态"我如何检查json对象数组? " DISCONNECTED"?

我试过了,

if(data[].status["DISCONNECTED"].length){
    console.log(true);
}

但似乎没有用,有任何想法,帮助,线索,建议,建议吗?



$(document).ready(function(){
  var data = [{"b_id":1,"name":"t1","status":"CONNECTED"},{"b_id":3,"name":"t2","status":"DISCONNECTED"},{"b_id":4,"name":"t3","status":"CONNECTED"},{"b_id":5,"name":"t4","status":"CONNECTED"},{"b_id":6,"name":"t5","status":"CONNECTED"}];
  
  $.each(data,function(index,value){
    console.log(value.status);
  });
  
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

5 个答案:

答案 0 :(得分:1)

如果你正在使用lodash(或者不介意包含它),你可以使用其.where方法:

var data = [{"b_id":1,"name":"t1","status":"CONNECTED"},{"b_id":3,"name":"t2","status":"DISCONNECTED"},{"b_id":4,"name":"t3","status":"CONNECTED"},{"b_id":5,"name":"t4","status":"CONNECTED"},{"b_id":6,"name":"t5","status":"CONNECTED"}];

if (_.where(data, {status: 'DISCONNECTED'}).length) {
    console.log('exitsts');
}

或没有图书馆,使用Array.prototype.some()

var a = data.some(function(val) {
    return val.status == 'DISCONNECTED';
});

if (a) {
    console.log('exists');
}

答案 1 :(得分:0)

&#13;
&#13;
$(document).ready(function() {
  var data = [{
    "b_id": 1,
    "name": "t1",
    "status": "CONNECTED"
  }, {
    "b_id": 3,
    "name": "t2",
    "status": "DISCONNECTED"
  }, {
    "b_id": 4,
    "name": "t3",
    "status": "CONNECTED"
  }, {
    "b_id": 5,
    "name": "t4",
    "status": "CONNECTED"
  }, {
    "b_id": 6,
    "name": "t5",
    "status": "CONNECTED"
  }];

  $.each(data, function(index, value) {
    if (value.status == "DISCONNECTED") {
      console.log(value.status);
    }

  });

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

这不会起作用吗?

答案 2 :(得分:0)

是的,你的代码似乎运行正常。问题是什么?

&#13;
&#13;
   $(document).ready(function(){
  var data = [{"b_id":1,"name":"t1","status":"CONNECTED"},{"b_id":3,"name":"t2","status":"DISCONNECTED"},{"b_id":4,"name":"t3","status":"CONNECTED"},{"b_id":5,"name":"t4","status":"CONNECTED"},{"b_id":6,"name":"t5","status":"CONNECTED"}];
  
  $.each(data,function(index,value){

if (value.status == "DISCONNECTED"){
	// DISCONNECTED founde!!
	console.log(value.status);
}
  });
  
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

&#13;
&#13;
$(document).ready(function(){
  var data = [{"b_id":1,"name":"t1","status":"CONNECTED"},{"b_id":3,"name":"t2","status":"DISCONNECTED"},{"b_id":4,"name":"t3","status":"CONNECTED"},{"b_id":5,"name":"t4","status":"CONNECTED"},{"b_id":6,"name":"t5","status":"CONNECTED"}];
  
  $.each(data,function(index,value){
    var newObj = value;
    alert(newObj.status);
  });
  
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 4 :(得分:-1)

for(var i=0;i<arr.length;i++){
    var obj = arr[i];
    for(var key in obj){
        var attrName = key;
        var attrValue = obj[key];
    }
}