多维数组一维化有一个函数flat(),挺好。二维数组行列互换没有专门的函数,很多地方推荐下面这段代码:
let newArr = oldArr[0].map((col, i) => oldArr.map(row => row[i]));
也很简洁好用。那么二维数组行列互换后再一维化呢,用下面这段代码?
let newArr = oldArr[0].map((col, i) => oldArr.map(row => row[i]));
let targetArr=newArr.flat();
其实也没有毛病,不过空间占用和运行效率就不一定有下面这段朴素的代码好:
let targetArr=[];
for (let j=0;j<oldArr[0].length;j++) for (let i=0;i<oldArr.length;i++) targetArr.push(oldArr[i][j]);