首页 > 解决方案 > Javascript数组 - 用另一个数组填充缺失的元素

问题描述

假设我有两个长度相同的数组:

var a=[5,2,8,12,15,72,3,9];
var b=[,3,,5,19,,71,];

在 Javascript 中,如何合并这两个数组,以便在每个索引中新数组都包含相应的b元素,如果 is 不为空,则为a.

新数组c应该是:

c = [5,3,8,5,19,72,71,9]

注意:不得更改元素的顺序。

标签: javascriptarrays

解决方案


所以假设它A总是有一个元素,而它并不总是真的B会有一个。那么下面的代码应该是单词。

基本上只是循环B检查是否有输入,如果没有获取值,则将其推送到新数组A

这在线性时间内运行。

var a=[5,2,8,12,15,72,3,9];
var b=[,3,,5,19,,71,];
function createNewArray(a, b){
let newArray = [];
for(let i=0;i<=b.length;i++){
    if(b[i]){
        newArray.push(b[i])
    } else {
        newArray.push(a[i])
    }
}
return newArray
}
console.log(createNewArray(a,b))


推荐阅读