我想填充一个未完成的数组。我将展示一个例子:
var main = [
{ "id":"0", "value":500 },
{ "id":"3", "value":300 }
]
var fill = []
for (i = 0 ; i < main.length; i++){
fill[main[i].id] = main[i].value
}
console.log(fill)
如何使用0
填充这些空数组?
谢谢!
答案 0 :(得分:1)
从预填充阵列开始:
var main = [
{ "id":"0", "value":500 },
{ "id":"3", "value":300 }
]
var fill = new Array(4).fill(0);
for (i = 0 ; i < main.length; i++){
fill[main[i].id] = main[i].value
}
console.log(fill)
&#13;
答案 1 :(得分:1)
如果您想要一个有效的解决方案,即使您不知道要填充的阵列的最大尺寸,也可以尝试在最后添加:
fill.map(function (el) {
return el === undefined ? 0 : el;
});
或者在ES6 +环境中:
fill.map(el => el === undefined ? 0 : el);
答案 2 :(得分:1)
如果您不知道阵列有多长,我会像这样做
var main = [
{ "id":"0", "value":500 },
{ "id":"3", "value":300 }
]
var fill = []
for (var i = 0 ; i < main.length; i++){
fill[main[i].id] = main[i].value
}
for (var j = 0 ; j < fill.length; j++){
if(fill[j] === undefined){
fill[j] = 0
}
}
console.log(fill)