Javascript 使用concat()方法组合多个数组 函数joinArrayOfArrays(arr){ var startingArray=arr[0]; var newArray=[]; 对于(var i=0;i[1,4,真,假,'x'
我想循环一个for循环,并使用concat()方法将结果编译成单个数组。我想不出有什么帮助?您可以使用Javascript 使用concat()方法组合多个数组 函数joinArrayOfArrays(arr){ var startingArray=arr[0]; var newArray=[]; 对于(var i=0;i[1,4,真,假,'x',javascript,Javascript,我想循环一个for循环,并使用concat()方法将结果编译成单个数组。我想不出有什么帮助?您可以使用array\flat function joinArrayOfArrays(arr) { var startingArray = arr[0]; var newArray = []; for(var i=0; i<arr.length; i++) { newArray = startingArray.concat(arr[i]); } return newA
array\flat
function joinArrayOfArrays(arr) {
var startingArray = arr[0];
var newArray = [];
for(var i=0; i<arr.length; i++) {
newArray = startingArray.concat(arr[i]);
}
return newArray;
}
var output = joinArrayOfArrays([[1, 4], [true, false], ['x', 'y']]);
console.log(output); // --> [1, 4, true, false, 'x'
选项一是将数组分解为
concat
,因为concat可以接受多个参数:
函数joinArrayOfArrays(arr){
返回[]concat(…arr);
}
选项二将应用于您的阵列:
函数joinArrayOfArrays(arr){
返回平面角();
}
问题在于每次重新分配新数组
,这样就不起作用了。只需完全删除启动数组
,它就会起作用:
函数joinArrayOfArrays(arr){
var newArray=[];
对于(var i=0;我喜欢中提到的,或者也喜欢中提到的.concat(…arr)
。尽可能少地修改代码工作正常的解决方案是:
[[1, 4], [true, false], ['x', 'y']].flat()
//(6) [1, 4, true, false, "x", "y"]
函数joinArrayOfArrays(arr){
var newArray=[];
对于(var i=0;i[1,4,真,假,“x”,“y”]
另一种有效的方法是使用
arr.flat()
;你刚刚把变量搞混了。newArray=startingArray.concat(arr[i])
应该是newArray=newArray.concat(arr[i])
(当然你根本不需要startingArray
,它在循环的第一次迭代中处理。)当然。@SebastianSimon:但这个问题是在尝试生成函数,而不是找出要使用什么函数。@LakshyaRaj关于这个问题有83个答案;其中一些还使用进行循环。@SebastianSimon:哦,我明白了。将标记为重复。
function joinArrayOfArrays(arr) {
var newArray = [];
for(var i=0; i<arr.length; i++) {
console.log(arr[i])
newArray = newArray.concat(arr[i]);
}
return newArray;
}
var output = joinArrayOfArrays([[1, 4], [true, false], ['x', 'y']]);
console.log(output);//->[1, 4, true, false, "x", "y"]