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

标签 javascript node.js object

{
  "firstRoom": [
    {
      "name": "A",
      "age": 21
    },
    {
      "name": "B",
      "age": 31
    },
    {
      "name": "C",
      "age": 41
    }
  ],
  "secondRoom": [
    {
      "name": "FF",
      "age": 21
    },
    {
      "name": "GG",
      "age": 31
    }
  ]
}

如何检查我的对象以查看数组 secondRoom拥有属性(property)namevalue “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/

相关文章:

javascript - 脚本 438 : Object doesn't support property or method 'forEach'

javascript - extJS 选项卡未在门户布局中显示

javascript - 在 Openshift 上运行 MEAN 站点时出现非常奇怪的 Mongoose/MongoDB 问题

javascript - 在 Node JS 中使用 YQL

javascript - react : show object as working JS format?

javascript - 根据玩家ID累加玩家总积分

javascript - 排序后将子部分添加到正确的父部分 - Angular JS

javascript - 如何让 Bootstrap 导航栏随用户滚动?

javascript - 如何将 React 添加到已建的网站?

r - 绘制 ggmap 时 Shiny 找不到对象