foreach for JSON数组,语法

Dav*_*vid 53 javascript jquery json

我的脚本从php服务器端脚本获取一些数组.

result = jQuery.parseJSON(result);
Run Code Online (Sandbox Code Playgroud)

现在我想检查数组的每个变量.

if (result.a!='') { something.... }
if (result.b!='') { something.... }
....
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法让它快速像php'foreach','while'或smth?

UPDATE

这段代码(感谢hvgotcodes)给出了数组中变量的值,但是如何获取变量的名称呢?

for(var k in result) {
   alert(result[k]);
}
Run Code Online (Sandbox Code Playgroud)

更新2

这就是php方面的工作原理

$json = json_encode(array("a" => "test", "b" => "test",  "c" => "test", "d" => "test"));
Run Code Online (Sandbox Code Playgroud)

hvg*_*des 102

你可以做点什么

for(var k in result) {
   console.log(k, result[k]);
}
Run Code Online (Sandbox Code Playgroud)

它循环返回的json中的所有键并打印值.但是,如果您有嵌套结构,则需要使用

typeof result[k] === "object"
Run Code Online (Sandbox Code Playgroud)

确定是否必须遍历嵌套对象.我使用的大多数API,开发人员都知道返回的结构,所以这是不必要的.但是,我认为这种期望可能对所有情况都不利.


Har*_*til 35

试试这个:

$.each(result,function(index, value){
    console.log('My array has at position ' + index + ', this value: ' + value);
});
Run Code Online (Sandbox Code Playgroud)


Tam*_*ake 10

当然,你可以使用JS的foreach.

for (var k in result) {
  something(result[k])
}
Run Code Online (Sandbox Code Playgroud)


yog*_*ing 10

您可以使用 JavaScript 的 .forEach() 方法循环 JSON。

var datesBooking = [
    {"date": "04\/24\/2018"},
      {"date": "04\/25\/2018"}
    ];
    
    datesBooking.forEach(function(data, index) {
      console.log(data);
    });
Run Code Online (Sandbox Code Playgroud)