{
"firstRoom": [
{
"name": "A",
"age": 21
},
{
"name": "B",
"age": 31
},
{
"name": "C",
"age": 41
}
],
"secondRoom": [
{
"name": "FF",
"age": 21
},
{
"name": "GG",
"age": 31
}
]
}
如何检查我的对象以查看数组 secondRoom
拥有属性(property)name
与 value
“FF”??
我尝试过这样的:
if("secondRoom" in rooms){
if("FF" in rooms.secondRoom.name){
alert('yap');
}else{
alert('nop');
}
}else{
alert('no room today');
}
没成功
最佳答案
你可以试试
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');
关于Javascript 检查对象是否具有特定属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27115729/