Javascript:使用嵌套for循环将嵌套数组转换为单个数组
这只是我正在做的一个简单的javascript练习 我正在尝试转换此数组Javascript:使用嵌套for循环将嵌套数组转换为单个数组,javascript,loops,for-loop,nested,Javascript,Loops,For Loop,Nested,这只是我正在做的一个简单的javascript练习 我正在尝试转换此数组 var array = [ [1,2], [3,4], [5,6] ]; 进入 array = [1, 2, 3, 4, 5, 6]; 通过使用这个嵌套for循环 var series; var storage = []; for (var i = 0; i < array.length; i++) { for (var j = 0; j < array[i].length; j++) {
var array = [
[1,2],
[3,4],
[5,6]
];
进入
array = [1, 2, 3, 4, 5, 6];
通过使用这个嵌套for循环
var series;
var storage = [];
for (var i = 0; i < array.length; i++) {
for (var j = 0; j < array[i].length; j++) {
series = array[i][j];
for (var k = 0; k < 6; k++) {
storage[k] = series;
};
};
};
console.log(storage);
为什么这是输出?我如何修复它
series = array[i][j];
for (var k = 0; k < 6; k++) {
storage[k] = series;
};
或者,如果您的JS机器具有足够的实验性,只需
var storage = array.flat()
您可以使用
array.flat()
参考:
您可以像这样使用ES6扩展语法:
for (let element of array){
storage.push( ... el )
}
您可以使用和的组合在一行中实现您想要的
var数组=[
[1, 2],
[3, 4],
[5, 6]
];
log(array.reduce((a,v)=>a.concat(v),[])代码>for(var k=0;k<6;k++){
不是必需的。array[i]
将是主数组中的每个元素,因此迭代array[i]
可以访问每个元素
var数组=[
[1, 2],
[3, 4],
[5, 6]
];
var系列;
var存储=[];
对于(var i=0;i console.log(存储);
Array.concat可以自己完成这项工作
var merged = [].concat.apply([], array);
var数组=[
[1,2],
[3,4],
[5,6]
];
var newArray=[];
for(设i=0;i
storage=[];
对于(var i=0;i
var array = [
[1,2],
[3,4],
[5,6]
];
array.flat();
// 1,2,3,4,5,6....
for (let element of array){
storage.push( ... el )
}
var merged = [].concat.apply([], array);
storage = [];
for(var i=0; i<array.length; i++)
storage = storage.concat(array[i]);