代码之家  ›  专栏  ›  技术社区  ›  Josh Withee

字符串数组的元素级连接

  •  1
  • Josh Withee  · 技术社区  · 6 年前

    我正在寻找一个JavaScript函数,它接受两个长度相等的字符串数组,并输出一个长度与输入数组相同的字符串数组,其中包含输入数组的按元素连接的字符串。是否有一个内置的JavaScript函数来实现这一点?

    此外,我想在元素级连接完成时,在连接的元素之间添加一个字符串。例如,这样对每个 i :

    outputArray[i] = inputArray1[i] + " - " + inputArray2[i]
    
    1 回复  |  直到 6 年前
        1
  •  4
  •   Nina Scholz    6 年前

    可以使用单个数组减少数组。这也适用于多个数组。

    var inputArray1 = ['abc', 'def', 'ghi'],
        inputArray2 = ['3', '6', '9'],
        outputArray = [inputArray1, inputArray2].reduce((a, b) => a.map((v, i) => v + ' - ' + b[i]));
    
    console.log(outputArray);

    更实用

    var inputArray1 = ['abc', 'def', 'ghi'],
        inputArray2 = ['3', '6', '9'],
        outputArray = [inputArray1, inputArray2]
            .reduce((a, b) => a.map((v, i) => [].concat(v, b[i]))) // get single parts
            .map(a => a.join(' - '));                              // join inner arrays
    
    console.log(outputArray);