回答
如果您使用的是jQuery,您可以使用$ .each()方法遍歷原始對象。
否則,你可以嘗試一個for循環:
var originalObject = {
"key1": { "obj1Key": "obj1Value" },
"key2": { "obj2Key": "obj2Value" },
"key3": { "obj3Key": "obj3Value" }
}
var newArray = [];
for (var key in originalObject) {
newArray.push(originalObject[key]);
}
console.log("New Array: " + newArray);
那麼,首先沒有這樣的東西作爲對象的對象,除非你的意思是一個對象的屬性是對象。例如:{ foo: { bar: 'xyz'} }
。
爲了這樣的對象轉換爲一個集合(對象數組)只是通過鍵環等這樣
let objOfObjs = {
foo: { xyz: 'bar'},
bar: { abc: 'foo'}
}, collection = [];
Object.keys(objOfObjs).forEach(key => collection.push(objOfObjs[key]));
console.log(collection); //[ { xyz: 'bar' }, { abc: 'foo' } ]
REPL:https://repl.it/I4MS
var obj = { 'a' : {}, 'b': {}, 'c': {}, 'd': {} }
var list = [];
Object.keys(obj).forEach(function(key) {
list.push(obj[key]);
});
或簡單
var list = Object.values(obj);
IF您只使用Chrome或Firefox,您可以使用Object.values()
:
var o = {a:{k:1}, b:{k:2}, c:{k:3}}
var values = Object.values(o);
// [{"k":1}, {"k":2}, {"k":3}]
否則,使用(並接受)基於Object.keys()
的答案。
好的答案,但我建議OP,這將不適用於Safari,IE,Edge和Opera。 –
@GerardoFurtado好主意。 – Phrogz
我試圖找到有關Edge的任何信息,但我找不到任何...因此,爲了給出疑問的好處,現在讓我們假設Object.values()不適用於: Safari瀏覽器,Opera和IE瀏覽器(在IE上做任何工作?)。 –
- 1. 將對象數組轉換爲對象
- 2. 如何包含數組對象轉換爲對象的對象
- 3. 如何將對象數組轉換爲模型對象數組
- 4. Javascript:將對象的對象轉換爲對象數組
- 5. 如何將數組的對象轉換爲對象
- 6. 如何將對象數組轉換爲帶索引的對象?
- 7. 如何將對象轉換爲AngularJs中的對象數組?
- 8. 如何將一個對象轉換爲數組對象?
- 9. 如何將對象類型列表轉換爲對象數組
- 10. 如何將數組對象轉換爲ActiveRecord關係對象
- 11. 如何將genericlist轉換爲一個對象數組 - > [對象]
- 12. 如何將[對象對象]轉換爲數組?
- 13. 如何將php對象數組轉換爲javascrript對象?
- 14. 如何將JavaScript對象數組轉換爲單個對象?
- 15. 如何將數組轉換爲對象?
- 16. 如何將對象轉換爲數組?
- 17. 如何將數組轉換爲對象?
- 18. lodash將數組轉換爲對象數組的對象
- 19. 將對象數組轉換爲數組對象
- 20. 轉換對象的數組對象
- 21. 如何對象轉換爲對象的數組的JavaScript
- 22. 轉換對象爲對象
- 23. 如何將對象內的對象轉換爲PHP中的數組的數組?
- 24. 如何對象轉換爲對象的數組
- 25. 將對象轉換爲JavaScript中的對象中的數組
- 26. 將對象的ArrayList轉換爲jasperreports的對象數組
- 27. 轉換對象數組到對象
- 28. 將長對象轉換爲對象
- 29. 將JSON對象轉換爲C#對象
- 30. 將Image對象轉換爲BufferedImage對象
你想失去在原始對象內部對象的屬性名稱?因爲原始對象不能像你描述的那樣。它必須是'{foo:{},bar:{},baz:{}}'。 –
哪裏是您的原始對象的關鍵? – jmugz3