繁体   English   中英

如何不使用Array.filter()从JSON对象获取特定值?

[英]How can I get a specific value from my JSON object without using Array.filter()?

rows ,我要检查是否有一个Submit值和它后面的整数值。 如何在不使用Array.filter()的情况下检索这两个值? Google Analytics JS api不喜欢filter命令。

{
  "rows": [
        [
      "Load",
      "11"
    ],
    [
      "No Thanks",
      "7"
    ],
    [
      "NoThanks",
      "3"
    ],
    [
      "No_Thanks",
      "2"
    ],
    [
      "Results",
      "88"
    ],
    [
      "Sent",
      "1"
    ],
    [
      "Sign Up",
      "9"
    ],
    [
      "XOut",
      "161"
    ],
    [
      "Submit",
      "30"
    ]
  ]
}

只需使用for循环...

var submitFound
for(var i = 0; i < rows.length; i++) {
  var row = rows[i]
  if (row[0] === 'Submit') {
    submitFound = true
    break
  }
}
if (submitFound) // do stuff

假设问题中具有的结构分配给returnData:

var returnedData = {...}; //Structure from the question
var value = -1;
for(var i = 0; i < returnedData.rows.length; i++){
    var row = returnedData.rows[i];
    if (row[0] == 'Submit') {
        value = row[1];
        break;
    }
}

if (value > -1) {
    // Do whatever with the value
}

如果您不想使用循环,请尝试以下方法:

// this object is simplified for test

var json={
  "rows": [
        [
      "Load",
      "11"
    ],
    [
      "Submit",
      "30"
    ]
  ]
};

var stringJson=JSON.stringify(json);
var valueOfSubmit= stringJson.match("\"Submit\"\,\"([^)]+)\"\]")[1];
alert(valueOfSubmit);

最好的祝福

暂无
暂无

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

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