试图在javascript中引用JSON数组的特定部分

时间:2014-08-06 21:44:18

标签: javascript arrays json

我有来自服务器的JSON数据并作为数组存储在变量中,我需要访问特定部分来运行if语句,检查html表单提交是否匹配任何一个,在本例中为3, "销"元件。

这是我使用

时得到的日志
console.log(json.details);

以下是我的回复:

0: Object
ID: "4"
cohort_name: "Bill Jones"
pin: "53870"
start_date: "2014-08-02"
__proto__: Object
1: Object
ID: "5"
cohort_name: "Tracey Smith"
pin: "19224"
start_date: "2014-08-04"
__proto__: Object
2: Object
ID: "6"
cohort_name: "Joe Bloggs"
pin: "12345"
start_date: "2014-08-04"
__proto__: Object
length: 3
__proto__: Array[0]

我如何引用" pin"这个数组中的元素对它运行检查?

4 个答案:

答案 0 :(得分:2)

var current;
for(var i = 0; i < json.details.length; i++){
  current = json.details[i];
  if(current.pin != null){
    console.log("pin is non-null and defined");
  }
}

答案 1 :(得分:1)

你会循环并检查:

for (var i = 0; i < json.details.length; i++) {
    var pin = json.details[i].pin; //pin for the object being iterated over
    //check logic
}

答案 2 :(得分:0)

您可以在javascript和对象名称中以通常的方式引用数组:

if(Array[index].pin == CHECK)
{ //do }

答案 3 :(得分:0)

尝试:

var jd = json.details, r = [];
for(var i in jd){
  var cur_pin = jd[i].pin;
  if(cur_pin === 'SOMETHING HERE'){
    r.push(jd[i].pin);
  }
}
// Array `r` now has all the pins that equal 'SOMETHING HERE'