当数组对象未定义时,不在div中显示

时间:2013-05-31 19:11:46

标签: javascript json

我正在抓取一些带有数组的JSON,并在无序列表中显示一些数据。问题是在某些条目中,我没有列出我正在寻找的值(“aristName”和“trackName”)。所以他们返回undefined。根据我下面的内容,我将如何省略每个返回“artistName”和“trackName”的未定义值的条目,并仅列出具有这些值的条目?

var output="<ul>";

for (var i in data.onNow.playlist) {
    output+="<li>"+data.onNow.playlist[i].artistName+
        " - "+data.onNow.playlist[i].trackName+"</li>";
}

output+="</ul>";

document.getElementById("playlist-container").innerHTML=output;

1 个答案:

答案 0 :(得分:1)

var output="<ul>";

for (var i in data.onNow.playlist) {
    var item = data.onNow.playlist[i];

    if (item.artistName && item.trackName) {
        output += "<li>" + item.artistName + " - " +
            item.trackName + "</li>";
    }
}

output += "</ul>";

这样你也可以过滤出名称为空字符串的曲目和艺术家。

if (foo)是明确falsefoofalse,数字null时,

undefined评估为0,空字符串或NaN。否则评估结果为真。