首页 > 解决方案 > 只有完整字段的 Array2 会覆盖 Array1 中的字段吗?

问题描述

我根本找不到办法做到这一点。我需要仅使用 Array2 中具有值的字段(非空字段'')覆盖 Array1 并从中生成 Array3。有什么好方法可以做到这一点?

Array1 = ['cookie', 'pancake', '', '', 'brownie']
Array2 = ['', '', 'muffin', '', 'cake']

// gives
Array3 = ['cookie', 'pancake', 'muffin', '', 'cake']

标签: javascriptarrays

解决方案


您可以使用map()on Array1。检查该索引上的元素是否Array1为空更改返回元素,Array2否则返回元素本身。

let Array1 = ['cookie', 'pancake', '', '', 'brownie']
let Array2 = ['', '', 'muffin', '', 'cake']
let Array3 = Array1.map((x, i) => x === '' ? Array2[i] : x);
console.log(Array3)


推荐阅读