Javascript:如何将数组元素扩展到所有其他元素并生成单个数组
我有一个类似Javascript:如何将数组元素扩展到所有其他元素并生成单个数组,javascript,arrays,Javascript,Arrays,我有一个类似 var arr = [["one", "two"],["three", "four"],["five", "six", "seven"],["eight", "nine"]]; 我试图让所有元素联合元素,但同一子数组中的元素不能复制。比如: var output = ["one three four five six seven eight nine","two three four five six seven eight nine"]; 这将根据第一个子数组中的元素数进行添
var arr = [["one", "two"],["three", "four"],["five", "six", "seven"],["eight", "nine"]];
我试图让所有元素联合元素,但同一子数组中的元素不能复制。比如:
var output = ["one three four five six seven eight nine","two three four five six seven eight nine"];
这将根据第一个子数组中的元素数进行添加。
我试过了,但找不到任何解决办法。有人能帮忙吗?这是我尝试过的代码:
function big_for( data ){
var aj = [];
var k = 0;
for( var i = 0; i < data.length; i++ ){
for( var j = 0; j < data[i].length; j++ ){
aj[k] = data[i][j];
k++;
}
}
return arr;
}
用于(数据)的函数大{
var aj=[];
var k=0;
对于(变量i=0;ivar arr = [["one", "two"],["three", "four"],["five", "six", "seven"],["eight", "nine"]];
var base = arr.shift();
var result = base.map(function(init) {
return [].concat.apply([], [init].concat(arr)).join(' ');
});
抱歉@Andy
var arr = [["one", "two"],["three", "four"],["five", "six", "seven"],["eight", "nine"]];
var base = arr.shift();
var result = base.map(function(init) {
return [].concat.apply([], [init].concat(arr)).join(' ');
});
可能是重复的:然后是“三一二四五六七八九”吗?如果没有,我看不到你的输入和预期输出之间的相关性。你可以展平你的数组。这可能就是答案@RafaelGrillo,看看预期的输出。简单的展平不是答案。输出必须是第一个子数组的元素和所有其他元素。输出中的前一个数组数将是第一个子数组的计数。明白了。可能是重复的:然后是“三一二四五六七八九”吗?如果没有,我看不到你的输入和预期输出之间的相关性。你可以展平你的数组。这可能就是答案@RafaelGrillo,看看预期的输出。简单的展平不是答案。输出必须是第一个子数组的元素和所有其他元素。输出中的前一个数组数将是第一个子数组的计数。明白了。哦,我以前没有用过
shift
和concat
。你能解释一下吗。哦,是的,这奏效了。!谢谢Shift将删除数组的第一个元素并返回它。Concat将简单地将一个数组与另一个数组连接起来,如果我需要第二个数组为genderal。?现在第一个是gendral。哦,我以前没有用过shift和concat。你能解释一下吗。哦,是的,这奏效了。!谢谢Shift将删除数组的第一个元素并返回它。Concat将简单地将一个数组与另一个数组连接起来,如果我需要第二个数组为genderal。?第一个是性别。