我有一个数据对象,我想在不更改对象索引的情况下将其转换为普通数组。
这个对象
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/