-1

所以我的问题是有时会data.content[i].location.name返回一个错误,说无法读取 null 的属性“名称”。

for ( var i = 0; i < len; i++ ) {
    classes.push({
       "id":data.post[i].id,
       "location":data.content[i].location.name,
       "type":data.content[i].type
   });
}

我该如何解决这个问题?如果它不为空,我需要 data.content[i].location.name。

4

2 回答 2

7

使用.hasOwnProperty测试属性以防止出现错误

for ( var i = 0; i < len; i++ ) {
 classes.push({
   "id":data.post[i].id,
   "location": data.content[i].location.hasOwnProperty‎("name") ?  data.content[i].location.name : "",
   "type":data.content[i].type
 });
}
于 2013-10-10T18:19:32.917 回答
5

只需data.content[i].location.name != null在推送之前检查一下

如果你想在这种情况下发生一些特别的事情,null你可以在else.

或者正如你有时指出location的那样null,所以也以同样的方式检查。

于 2013-10-10T18:19:18.490 回答