【问题标题】:Reactjs trying to merge arraysReactjs试图合并数组
【发布时间】:2018-10-24 06:16:25
【问题描述】:

假设我有两个数组

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 模因。

【问题讨论】:

    标签: javascript arrays merge store


    【解决方案1】:

    您可以使用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);

    【讨论】:

      【解决方案2】:

      试试看:

      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);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-19
        • 2019-08-04
        相关资源
        最近更新 更多