forEach 不是函数错误

2024-01-10

当我尝试使用 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(使用前将#替换为@)

forEach 不是函数错误 的相关文章

随机推荐