在第一种情况下,我得到TypeError: Cannot read property 'id' of undefined
,第二种情况很好。从我的角度来看,这两个IF语句是相等的。我错了吗?
考虑以下代码片段:
return array[index].id ? array[index] : undefined
和
if (array[index]) {
return array[index].id
} else {
return undefined
}
答案 0 :(得分:2)
您的三元条件不正确,应该是:
return array[index] ? array[index].id : undefined
它应该检查array[index]
是否存在并且已定义,然后返回array[index].id
,否则返回undefined
。
答案 1 :(得分:1)
this.http.get('assets/us-all-all.geo.json');
等于:
return array[index].id ? array[index] : undefined