即使未调用 JQuery 未定义的对象属性仍会导致错误

JQuery undefined object attribute still causes error even when not called

本文关键字:属性 错误 对象 调用 JQuery 未定义      更新时间:2023-09-26

我正在遍历一个 api 对象,但某些结果没有特定的属性。如果缺少属性,我用它来制作占位符:

if (data.track[i].image == undefined) {
    urlstring = "path/to/image";
} else {
  urlstring = data.track[i].image[4][0];
}

不幸的是,我仍然收到错误Uncaught TypeError: Cannot read property '0' of undefined,即使如果属性未定义,则不应触发 else 子句。

你的问题是data.track[i].image[4] undefined而你的代码似乎需要一个数组。

您可以使用

if (data.track[i].image && data.track[i].image[4]) {
    urlstring = data.track[i].image[4][0];
} else {
    urlstring = "path/to/image";
}

注意:我认为data.track[i]data.toptracks.track[i]之间的混合是这个问题的人工制品。