这里我有一个数组place.reviews
但这个数组有时是空的,所以我需要编写一个函数,首先检查数组是否为空,如果不是,那么从数组中获取数据...
所以我试试:
if (!!place.reviews) for(var i=0;i<place.reviews.length;i++){
contentStr += '<br>'+ place.reviews[i].text+ '</br>';
}
但这段代码对我不起作用?
问题是if (!!place.reviews)
还是......?
答案 0 :(得分:2)
那是因为任何not null对象都是“truthy”。
假设你的数组可能是undefined
(如果它不能在循环之前测试没有意义),你应该这样做
if (place.reviews && place.reviews.length)
答案 1 :(得分:2)
为什么要检查空白?
for(var i=0;i<place.reviews.length;i++)
如果place.reviews.length为0,那么你的for循环体根本不会执行。
答案 2 :(得分:1)
你的if语句格式不正确,请使用:
if (place.reviews.length)
for(var i=0;i<place.reviews.length;i++) {
contentStr += '<br>'+ place.reviews[i].text+ '</br>';
}
答案 3 :(得分:1)
if (place.reviews.length > 0)