使javascript函数可行

时间:2013-09-16 11:16:59

标签: javascript jquery html arrays if-statement

这里我有一个数组place.reviews但这个数组有时是空的,所以我需要编写一个函数,首先检查数组是否为空,如果不是,那么从数组中获取数据...

所以我试试:

if (!!place.reviews) for(var i=0;i<place.reviews.length;i++){
  contentStr += '<br>'+ place.reviews[i].text+ '</br>';
}       

但这段代码对我不起作用?

问题是if (!!place.reviews)还是......?

4 个答案:

答案 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)