foreach用于JSON数组,语法

gr8qqesn  于 2023-03-20  发布在  其他
关注(0)|答案(4)|浏览(121)

我的脚本正在从PHP服务器端脚本获取一些数组。

result = jQuery.parseJSON(result);

现在我要检查数组中的每个变量。

if (result.a!='') { something.... }
if (result.b!='') { something.... }
....

有没有更好的方法可以像php中的“foreach”、“while”或smth那样快速完成呢?

更新

这段代码(多亏了hvgotcodes)给了我数组中变量的值,但是我怎样才能同时得到变量的名字呢?

for(var k in result) {
   alert(result[k]);
}

更新2

这是php端的工作原理

$json = json_encode(array("a" => "test", "b" => "test",  "c" => "test", "d" => "test"));
nc1teljy

nc1teljy1#

你可以这样做

for(var k in result) {
   console.log(k, result[k]);
}

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

typeof result[k] === "object"

来确定是否需要遍历嵌套对象。我使用过的大多数API,开发人员都知道返回的内容的结构,所以这是不必要的。然而,我认为这种期望可能并不适用于所有情况。

weylhg0b

weylhg0b2#

试试这个:

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

qyzbxkaa3#

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

var datesBooking = [
    {"date": "04\/24\/2023"},
      {"date": "04\/25\/2023"}
    ];
    
    datesBooking.forEach(function(data, index) {
      console.log(data);
    });
o2g1uqev

o2g1uqev4#

当然,你可以用JS的foreach。

for (var k in result) {
  something(result[k])
}

相关问题