数组的连接

时间:2017-08-20 20:05:03

标签: javascript

如何解析3个字符串数组的每个索引,并用相同的索引连接每个值,只有一个数组?

示例输入:

index 0 of array 1 value : "Car"
index 0 of array 2 value : "red"
index 0 of array 3 value : "Nikolai"

预期输出,数组(一体化):

index 0 value : "Car , red , Nikolai"

6 个答案:

答案 0 :(得分:3)

对于您希望对索引1,索引2,...等进行此连接的一般情况,您可以使用此ES6函数:

function joinTransposed(delim, ...args) {
    return args[0].map( (_, i) => args.map(w => w[i]).join(delim) );
}

// Example
var a = ["c", "y", "s", "h"],
    b = ["a", "o", "e", "i"],
    c = ["n", "u", "e", "m"];

var res = joinTransposed(' , ', a, b, c);
console.log(res);

答案 1 :(得分:0)

在数组中添加数组,迭代数组并获取它将在String变量中连接的第一个值。 最后,将这个String变量添加到一个新数组中。

constexpr

答案 2 :(得分:0)

使用for循环不可能吗?

==

答案 3 :(得分:0)

您可以使用简单的for循环。请记住,阵列的大小可能不同。

var a = ["a", "aa", "aaa"];
var b = ["b", "bb", "bbb"];
var c = ["c", "cc"];

var all = [];

for (var i = 0; i < Math.min(a.length, b.length, c.length); i++) {
    all[i] = [a[i], b[i], c[i]].join(" , ");
}

答案 4 :(得分:0)

使用ES6,您可以将数组值扩展到新数组中。所以你可以这样做:

const vehicles = ["Car"];
const colors = ["Red"];
const names = ["Nikolai"];

const combined = [...vehicles, ...colors, ...names];

很抱歉,现在我重新阅读您的问题,您只想将每个数组的相同索引组合在一起:

function returnCombined(index) {
  return [vehicles[index], colors[index], names[index]];
}

答案 5 :(得分:0)

这是.map().join()的好例子。

var result = array.map(a => a[0]).join(", ");

.reduce(),但您需要.slice()结尾的逗号。

var result = array.reduce((s,a) => s + a[0] + ", ", "").slice(0, -2);
相关问题