字符串数组的元素级联

时间:2018-08-02 18:56:11

标签: javascript arrays concatenation

我正在寻找一个JavaScript函数,该函数接受两个相等长度的字符串数组,并输出一个与输入数组长度相同的单个字符串数组,其中包含输入数组的按元素逐级连接的字符串。有内置的JavaScript函数可以执行此操作吗?

此外,当按元素进行串联时,我想在串联的元素之间添加一个字符串。例如,这样对于每个i都是正确的:

outputArray[i] = inputArray1[i] + " - " + inputArray2[i]

1 个答案:

答案 0 :(得分:3)

您可以使用单个数组来减少一个数组。这同样适用于多个数组。

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