2015-02-12 43 views
0

我有一個對象,看起來像這樣:JS如何提取對象鍵

var room = {"a": 
    [ 
     {room: "1.2.1"}, 
     {room: "1.2.2"}, 
     {room: "1.2.3"} 
    ], 
    1.2: [ 
     {room: "1.3.1"}, 
     {room: "1.3.2"}, 
     {room: "1.3.3"} 
    ]}; 

我只是想讀的a1.2對象的屬性,並把它變成一個變量。

例如:

var oname = room.getName(); 
output: 
a 
1.2 

回答

4

使用Object.keys()

var keys = Object.keys(room) 

keys然後將具有["a","1.2"]作爲值。

此外,你有一個字典,其值是數組,而不是數組本身。

+0

非常感謝,這個工程! – max 2015-02-12 05:54:03

1

你也可以嘗試如下。

在下面的循環代碼片段將遍歷對象屬性。

var room = {"a": 
 
        [ 
 
        {room: "1.2.1"}, 
 
        {room: "1.2.2"}, 
 
        {room: "1.2.3"} 
 
       ], 
 
      1.2: [ 
 
        {room: "1.3.1"}, 
 
        {room: "1.3.2"}, 
 
        {room: "1.3.3"} 
 
       ]}; 
 

 
$(function(){ 
 
    for(obj in room) 
 
    { 
 
     //debugger; 
 
     document.write(obj) 
 
    } 
 

 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

2

像這樣的事情?

function getRoomName(r){ 
    var names=""; 
    for (var prop in r) { 
     names+=prop+"\n"; 
    } 
    return names; 
} 

console.log(getRoomName(room));