我有一个这样的对象:
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
}