1

我正在获取一些带有数组的 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;
4

1 回答 1

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)评估为falsewhenfoo是一个明确的false, null, undefined, 数字0, 一个空字符串或NaN. 否则它评估为真。

于 2013-05-31T19:14:52.367 回答