javascript - 将对象转换为具有相同对象键的数组

标签 javascript arrays reactjs object

我有一个数据对象,我想在不更改对象索引的情况下将其转换为普通数组。

这个对象

let data = {
  123: {id: 123, name: "John"}
  456: {id: 456, name: "Doe"}
  789: {id: 789, name: "Maria"}
}

并转换为具有长度的数组,没有自动生成的索引,例如0,1,3

我已经尝试过这样的事情了

let data = {
  123: {id: 123, name: "John"},
  456: {id: 456, name: "Doe"},
  789: {id: 789, name: "Maria"}
}
let item = [];
for (var prop in data) {
   item.push(data[prop])
}

实际结果:

0: {id: 123, name: "John"}
1: {id: 456, name: "Doe"}
2: {id: 789, name: "Maria"}
length: 3
__proto__: Array(0)

预期结果:

123: {id: 123, name: "John"}
456: {id: 456, name: "Doe"}
789: {id: 789, name: "Maria"}
length: 3
__proto__: Array(0)
​

我怎样才能实现它?

请帮忙

最佳答案

只是改变: item.push(数据[prop])项目[prop] = 数据[prop]

但是会变成稀疏数组。 (而且它的大小不会像你期望的那样是 3)

关于javascript - 将对象转换为具有相同对象键的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56444186/

相关文章:

javascript - 使用 map 函数在 JavaScript 中创建关联数组

reactjs - React Context 不适用于服务器端渲染

javascript - 初学者 : Extension of file

javascript - D3 节点半径取决于链接数 : weight property

javascript - 如何在 wordpress 主题选项中使用 redux 框架更改 body 的背景图像?

javascript - 在 React 中禁用 `<input type=number>` 上的滚动

javascript - 在 ReactJS 的 OnClick 事件中传递 Nav 标签的值或名称

javascript - 如何从异步调用返回响应?

javascript - 单击按钮更改日期

ruby - 在 Ruby 中,如何确定字符串是否不在数组中?