我有2个数组:

var array1 = [1,4,8,10,12]
var array2 = [3,2,undefined,9,undefined]


因此,我需要一个结果数组,其中所有array1的值都已替换为array2的值,但前提是array2的特定索引不是undefined(有效数字)。在这种情况下,array1索引的值应保持不变。

结果应为:

resultArray = [3, 2, 8, 9, 12]


我无法正常工作。

最佳答案

您可以显式检查undefined并采用array1的值进行映射。



var array1 = [1, 4, 8, 10, 12],
    array2 = [3, 2, undefined, 9, undefined],
    result = array2.map((v, i) => v === undefined ? array1[i] : v);

console.log(result)

10-04 22:19
查看更多