我的脚本是从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"));
答案 0 :(得分:97)
您可以执行类似
的操作for(var k in result) {
console.log(k, result[k]);
}
循环返回的json中的所有键并打印值。但是,如果您有嵌套结构,则需要使用
typeof result[k] === "object"
确定是否必须遍历嵌套对象。我使用的大多数API,开发人员都知道返回的结构,所以这是不必要的。但是,我认为这种期望可能并不适用于所有情况。
答案 1 :(得分:32)
试试这个:
$.each(result,function(index, value){
console.log('My array has at position ' + index + ', this value: ' + value);
});
答案 2 :(得分:10)
当然,你可以使用JS的foreach。
for (var k in result) {
something(result[k])
}
答案 3 :(得分:1)
您可以使用JavaScript的.forEach()方法遍历JSON。
var datesBooking = [
{"date": "04\/24\/2018"},
{"date": "04\/25\/2018"}
];
datesBooking.forEach(function(data, index) {
console.log(data);
});