2015-02-12 40 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));