Javascript 检查一个对象是否具有特定的属性值

Javascript check an object if it has a certain property value

本文关键字:属性 检查 一个对象 是否 Javascript      更新时间:2023-09-26
{
  "firstRoom": [
    {
      "name": "A",
      "age": 21
    },
    {
      "name": "B",
      "age": 31
    },
    {
      "name": "C",
      "age": 41
    }
  ],
  "secondRoom": [
    {
      "name": "FF",
      "age": 21
    },
    {
      "name": "GG",
      "age": 31
    }
  ]
}

如何检查我的对象以查看数组secondRoom是否具有属性name与"FF"的value

我试过这样:

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');