填充数组为空

时间:2017-10-05 15:50:23

标签: javascript

我想填充一个未完成的数组。我将展示一个例子:

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填充这些空数组?

谢谢!

3 个答案:

答案 0 :(得分:1)

从预填充阵列开始:

&#13;
&#13;
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;
&#13;
&#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)