{
"firstRoom": [
{
"name": "A",
"age": 21
},
{
"name": "B",
"age": 31
},
{
"name": "C",
"age": 41
}
],
"secondRoom": [
{
"name": "FF",
"age": 21
},
{
"name": "GG",
"age": 31
}
]
}
如何检查我的对象以查看数组secondRoom
是否具有name
为“{”的属性value
?
我试过这样:
if("secondRoom" in rooms){
if("FF" in rooms.secondRoom.name){
alert('yap');
}else{
alert('nop');
}
}else{
alert('no room today');
}
它不起作用
答案 0 :(得分:1)
你可以尝试
var b = rooms.secondRoom && rooms.secondRoom.some(function(obj) {
return obj.name === "FF";
});
alert(b ? 'yap' : 'nop');
或者,如果您想确定这些属性是自己的属性而不是继承属性,
var b = rooms.hasOwnProperty("secondRoom") && rooms.secondRoom.some(function(obj) {
return obj.hasOwnProperty("name") && obj.name==="FF";
});
alert(b ? 'yap' : 'nop');