2014-11-24 159 views
0
{ 
    "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的Javascript檢查對象是否具有一定的屬性值

我想是這樣的:

if("secondRoom" in rooms){ 

    if("FF" in rooms.secondRoom.name){ 
     alert('yap'); 
         }else{ 
         alert('nop'); 
         } 

}else{ 
    alert('no room today'); 
} 

它沒有工作

回答

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'); 
相關問題