Javascript创建2d数组的新2d数组

Javascript创建2d数组的新2d数组,javascript,arrays,Javascript,Arrays,我发现2d数组格式错误,如下所示: [['a','b','c'],['d','f','e'],['g','h','i']] 我想把它转换成这样: [['a','d','g'],['b','f','h'],['c','e','i']] 最好的方法是什么?我找不到解决方案。试试这种方法。我还添加了Array.from({length:Array.length},(value,key)=>key)以获得更多的动态代码 const数组=[[a'、'b'、'c']、['d'、'f'、'e']、['g

我发现2d数组格式错误,如下所示:

[['a','b','c'],['d','f','e'],['g','h','i']]
我想把它转换成这样:

[['a','d','g'],['b','f','h'],['c','e','i']]

最好的方法是什么?我找不到解决方案。

试试这种方法。我还添加了
Array.from({length:Array.length},(value,key)=>key)
以获得更多的动态代码

const数组=[[a'、'b'、'c']、['d'、'f'、'e']、['g'、'h'、'i'];
const-mapped=array.map((item,index,arr)=>array.from({length:array.length},(value,key)=>key).map(i=>arr[i][index]);

console.log(映射)您可以通过将索引交换为新结果来转置数组

var数组=[[a'、[b'、[c']、[d'、[f'、[e']、[g'、[h'、[i'],
结果=数组.reduce(函数(r,a,i){
a、 forEach(函数(v,j){
(r[j]=r[j]| |[])[i]=v;
});
返回r;
}, []);
控制台日志(结果)
.as控制台包装{最大高度:100%!重要;顶部:0;}
a=['a','b','c'],['d','f','e'],['g','h','i']
//初始化b
b=['a'、'b'、'c']、['d'、'f'、'e']、['g'、'h'、'i']
//谈话转置

对于(i=0;i双映射单线性解。假设外部数组长度和内部数组长度相同

var数据=['a'、'b'、'c']、['d'、'f'、'e']、['g'、'h'、'i']
var res=data.map((a,i)=>data.map((arr)=>arr[i]);

console.log(res)
你想在什么基础上替换字符?@RalphJanssen如果可行,接受答案让其他人知道
a=[['a','b','c'],['d','f','e'],['g','h','i']]

// initialising b
b= [['a','b','c'],['d','f','e'],['g','h','i']]

//Talking transpose
for(i =0;i<3;i++){
    for(j=0;j<3;j++){
        b[i][j] = a[j][i];
    }
}