Reactjs 试图合并数组

Reactjs trying to merge arrays

假设我有两个数组

let array1 = ["H","E","", "","O","","","R","L","D"];
let array2 = ["","","L","L","","W","O","","",""];

我想合并它们,这样它们就会包含:

array3 = ["H","E","L", "L","O","W","O","R","L","D"];

我将如何实现这一目标? 更清楚地说,我有一个目标数组,它是 array3 一个空数组,然后我生成随机字符,如果它们与 array3 匹配,则将它们添加到具有反应状态的特定位置的空白数组。它只是不每次都存储位置和字符,而只是更改它。所以我的想法是设置状态,以便将当前状态与找到的新字符合并。

TLDR:- 暴力破解 Hello World 模因。

您可以使用 Array.prototype.map() 创建一个新数组 array3 来迭代 array1 并获取 l (字母),如果有 l 的计算结果为 falsey,然后在 array2.

中获取与 i(索引)相同的字母

请注意,不要使用 let 声明数组,而应始终使用 const,因为它使代码在其范围内更易于阅读,并且 const 变量始终引用相同的内容对象。

代码示例:

const array1 = ["H","E","", "","O","","","R","L","D"];
const array2 = ["","","L","L","","W","O","","",""];

const array3 = array1.map((l, i) => l || array2[i]);

console.log(array3);

试一试:

let arr1 = ["H","E","", "","O","","","R","L","D"];
let arr2 = ["","","L","L","","W","O","","",""];
let arr3 = [];

arr1.forEach((val, index) => {
  if (val === '') {
    arr3[index] = arr2[index];
  } else {
    arr3[index] = val;
  }
});
console.log(arr3);