2017-01-19 32 views
1

我有一個這樣的對象。如何將嵌套對象更改爲數組

var Obj = { 
    obj1 : { 
     val : 1, 
     id : 1 
    } 
    obj2 : { 
     val : 2, 
     id :2 
    } 
    obj3 : { 
     val : 3, 
     id :3 
    } 
} 

我想我obj1和所有子對象轉換成一個數組,所以我可以檢索該值。我想要數組中的數組,因爲我想檢索它們,既然它是動態的,我不能使用Obj.obj1因此我想推入數組。

有人可以告訴我如何得到這一點。感謝您的幫助

+0

你嘗試過什麼?目前還不清楚你想要輸出的樣子。你想輸出只是'[1,2,3]'? – 4castle

回答

2

使用Object.keysArray#map將其轉換爲數組的方法,但由於對象屬性沒有任何順序,因此無法保證順序。

var Obj = { 
 
    obj1: { 
 
    val: 1, 
 
    id: 1 
 
    }, 
 
    obj2: { 
 
    val: 2, 
 
    id: 2 
 
    }, 
 
    obj3: { 
 
    val: 3, 
 
    id: 3 
 
    } 
 
}; 
 

 
var res = Object.keys(Obj).map(function(k) { 
 
    return Obj[k]; 
 
    }) 
 

 
console.log(res);

+0

Object.values(Obj)'是另一種選擇(儘管瀏覽器支持較低) – 4castle

+0

@ 4castle:沒有廣泛支持 –

+0

讓我試試這個。 – David

相關問題