当我尝试使用 foreach 迭代 JSON 对象时,出现此错误。
有人可以帮忙吗?
这是我的JS:
function dateTimeChecker() {
$.ajax({
"url": 'get-booked.php',
"method": "get",
"dataType": "text",
"cache": false
}).done(function(jBooked) {
var jBookedDates=JSON.parse(jBooked);
console.log(jBookedDates);
jBookedDates.forEach(function(jB){
if (jB=="11/01/2016") {console.log("works");}else{console.log("doesn't");}
})
});
}
这是有问题的对象:
另外,我想知道如果有人愿意解释的话我该如何迭代这个对象。 :)
您收到的响应是 JSON。您不能使用数组对象的方法forEach
在一个普通的物体上。你必须使用Object.keys() https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/keys在此上下文中检索属于已解析 JSON 的可枚举自身属性,
Object.keys(jBookedDates).forEach(function(jB){
if (jB=="11/01/2016") {
console.log("works");
} else {
console.log("doesn't");
}
});
对于评论中的查询,您可以使用括号表示法来访问这些数组,
Object.keys(jBookedDates).forEach(function(jB){
var arr = jBookedDates[jB];
console.log(arr); //will print the array belongs to each property.
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)