如何解析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"
答案 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);