javascript - (Javascript) 需要帮助将对象转换为数组

标签 javascript arrays object

我有一个对象,里面有以下形式的对象:

Object { 
       "item1": { "subitem1": 5, "subitem2": 10 },
       "item2": { "subitem1": 3, "subitem2": 12, "subitem3": 1 },
       "item3": { "subitem1": 8, "subitem2": 1, "subitem3": 3 }
       }

我想将它转换为具有以下形式的数组:

[0] Object { key: "item1", "subitem1": 5, "subitem2": 10 }
[1] Object { key: "item2", "subitem1": 3, "subitem2": 12, "subitem3": 1 }
[2] Object { key: "item3", "subitem1": 8, "subitem2": 1, "subitem3": 3 }

有什么想法吗?提前致谢

最佳答案

您可以获取对象的条目并分配 key 。

var object = { item1: { subitem1: 5, subitem2: 10 }, item2: { subitem1: 3, subitem2: 12, subitem3: 1 }, item3: { subitem1: 8, subitem2: 1, subitem3: 3 } },
    result = Object.entries(object).map(([key, o]) => Object.assign({ key }, o));

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - (Javascript) 需要帮助将对象转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53629316/

相关文章:

javascript 说 JSON 对象属性未定义,尽管它不是

javascript - 如何在 Meteor Blaze 模板中包含 HTML <template> 元素?

Javascript 是 NaN 和 null

javascript - Angular 4200 端口显示带 html 的数据,但 Nodejs 8080 端口显示不带 html 的 json 数据

c - SSE:使用_mm_add_epi32看不到加速

C编程: Struct array construction while reading a file

javascript - 了解 Crockford 的无类 OOP 实现

javascript - 为什么我无法使用 Chrome 查看/调试加载了 jquery.html() 的 javascript

c++ - 无法在数组 C++ 中找到最高/最低元素

c++ - 使用许多对象重载加法运算符 C++