我正在抓取一些带有数组的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;
答案 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)
是明确false
,foo
,false
,数字null
时, undefined
评估为0
,空字符串或NaN
。否则评估结果为真。