如何将对象的键、值对插入数组?



我有一个这样的对象:

var obj = {
0: {...},
1: {...},
2: {...}, 
3: {...},
4: {...}
}

然后我有一个带有一些逻辑的 if 语句来查看我想要每个键中的值。如果找到一些值,我想将其插入数组中,但与对象具有相同的键/值,如下所示:

var array = [ 1: {...}, 3: {...}, 4:{...} ];

我的问题是当我创建数组并插入值时,当我在 Chrome 的开发工具中看到例如控制台时,它始终保持如下:

var array = [ 0: {...}, 1: {...}, 2:{...} ];

即使值是我想要的,键也始终以 0 开头。我只是在做一个"如果",然后将其推送到我的数组中。

for (const [key, value] of Object.entries(obj)) {
if(key == obj.someValue){
arr.push(value);   
}
}

这是我的逻辑。有人可以帮助我吗?

Array push(( 将创建按顺序编号的键。如果需要在新数组中使用相同的键,您可以使用

if(key == obj.someValue){
arr[key] = value;   
}

要从新数组中检索键和值,请使用 for-in

for (key in arr) {
console.log(key); //key
console.log(arr[key]); //value
}