Javascript 动态重排二维数组
如何动态转换此类型的数组:Javascript 动态重排二维数组,javascript,arrays,Javascript,Arrays,如何动态转换此类型的数组: [ [a,b,c], [d,e,f], ] 进入 第一个数组的长度并不总是相同的大小 尝试了以下方法 for (var i = 0; i < multi.length; i++) { // 2 for (var j = 0; j < multi[i].length; j++) { // 3 multi2[j].push(multi[j][i]) } } 它不起作用有两个问题: 为i初始化multi2子阵列
[
[a,b,c],
[d,e,f],
]
进入
第一个数组的长度并不总是相同的大小
尝试了以下方法
for (var i = 0; i < multi.length; i++) { // 2
for (var j = 0; j < multi[i].length; j++) { // 3
multi2[j].push(multi[j][i])
}
}
它不起作用有两个问题:
为i初始化multi2子阵列。
你的i和j在内部循环中混淆了。
这里有一个
尝试在JavaScript中搜索数组转置。外部循环应迭代arr[0].length次,而内部循环迭代arr.length次。
for (var i = 0; i < multi.length; i++) { // 2
for (var j = 0; j < multi[i].length; j++) { // 3
multi2[j].push(multi[j][i])
}
}
var multi = [
["a","b","c"],
["d","e","f"],
["g","h","i"],
]
var multi2 = [];
for (var i = 0; i < multi.length; i++) { // 3
for (var j = 0; j < multi[i].length; j++) { // 3
multi2[j] = multi2[j]||[]; // initialize subarray if necessary
multi2[j].push(multi[i][j])
}
}