js 多维数组转换问题?

let arr=[

[1,3,5],
[7,9,12]

];

转换为
let newArr=[

[1,7],
[3,9],
[5,12]

]

阅读 450
2 个回答
let arr = [
  [1, 3, 5],
  [7, 9, 12]
];

let newArr = arr[0].map((_, i) => arr.map(row => row[i]));

console.log(newArr);
方法一:
function reverse(arr) {
  let list = [];
  for (let i = 0;i < arr[0].length;i++) {
    list[i] = [];
  }
  for (let i = 0;i < arr.length;i++) {
    for (let j = 0;j<arr[i].length;j++) {
      list[j][i] = arr[i][j]
    }
  }
  return list
}
let arr = [
   [1,3,5],
   [7,9,12]
]
console.log(reverse(arr))

方法二:
const transpose = (arr) => arr[0].map((col, i) => arr.map((row) => row[i] ?? null));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题