我正在和动态创建的json文件。
例如
{
"users": [
{
"name": "Bill",
"surname": "Antony",
"userPoints": 121,
"wins": 11,
"nationality": "English"
},
{
"name": "George",
"surname": "Peter",
"userPoints": 1332,
"wins": 11
}
]
}
如您所见,第二个对象缺少国籍字段。 所以在我的代码中,当我用JS Jquery(.each)打印时。我有一个未经充实的'打印第二个用户。如何在打印之前检查一下?
编辑:我正在添加打印数据的方式:
function displayData(array) {
var list = $("#list").empty();
$.each(array, function () {
$("ul").append('<li><span class="num">'+ if(this["nationality"]){ this["nationality"] }+'</span></li>');
});
}
答案 0 :(得分:4)
undefined
等于false,因此您可以检查对象的属性,如下所示:
$.each(data.users, function(i, item) {
if (item.nationality) {
console.log(item.nationality);
}
});
您还可以将if
语句缩短为此并获得相同的结果:
item.nationality && console.log(item.nationality);
答案 1 :(得分:1)
您可以使用hasOwnProperty()
。 Documentation
if(users[0].hasOwnProperty('nationality')){
}