回答
如果您使用的是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. Javascript:将对象的对象转换为对象数组
- 4. 如何将数组的对象转换为对象
- 5. 如何将对象数组转换为带索引的对象?
- 6. 如何将一个对象转换为数组对象?
- 7. 如何将JavaScript对象数组转换为单个对象?
- 8. lodash将数组转换为对象数组的对象
- 9. 如何将对象转换为数组?
- 10. 将对象数组转换为数组对象
- 11. 如何对象转换为对象的数组的JavaScript
- 12. 转换对象为对象
- 13. 如何对象转换为对象的数组
- 14. 将对象的ArrayList转换为jasperreports的对象数组
- 15. 将对象转换为JavaScript中的对象中的数组
- 16. 将jcas对象转换为json对象
- 17. 将javascript对象转换为json对象
- 18. 将对象转换为jquery对象
- 19. 将Image对象转换为BufferedImage对象
- 20. 将TS对象转换为data.frame对象
- 21. 将Image对象转换为FormFile对象
- 22. 如何将对象数组转换为具有键值对的对象
- 23. 将对象数组转换为对象的最佳方法?
- 24. 将所有NSDate对象转换为NSString对象的数组
- 25. 将对象的隐式数组转换为单个对象php
- 26. 将jQuery对象数组转换为单个对象
- 27. 将IEnumerable对象列表转换为对象数组列表C#
- 28. 将单个对象转换为对象数组
- 29. NodeJs:将对象数组转换为大对象
- 30. JavaScript:将对象转换为对象数组
你想失去在原始对象内部对象的属性名称?因为原始对象不能像你描述的那样。它必须是'{foo:{},bar:{},baz:{}}'。 –
哪里是您的原始对象的关键? – jmugz3