如何从矩形的二维数组中获取所有列作为数组

问题描述 投票:0回答:1

问:矩形是什么意思? A: [[1,2,3],[1,2,3]] 内部数组有更多元素。

示例: 输入:

[[1,2,3,4],[1,2,3,4],[1,2,3,4]]
所需输出:
[[1,1,1],[2,2,2],[3,3,3],[4,4,4]]
输出:
[[1,1,1],[2,2,2],[3,3,3]]

问题的原因:主数组的元素较少,因此,当我循环它时,正如预期的那样,它将返回一个具有自己长度的数组。如上例所示。

这是我用任意示例尝试的。

 const arr = [
      [1, 2, 3],
      [1, 2, 3],
    ];

    const get_collum = (arr, i) => arr.map((el) => el[i]);
    const collums = arr.map((_, i, arr) => get_collum(arr, i));

    console.log(collums);

** 我知道map方法返回一个与主数组长度相同的数组。 ** 我也知道这是一个嵌套循环。

感谢您的帮助。

javascript multidimensional-array array-map
1个回答
0
投票

假设“矩形”意味着每个子数组的长度相等:

array[0].map((_, i) => {
  return array.map((el, _) => {
    return el[i];
  });
});

或者简称:

array[0].map((_, i) => array.map((el, _) => el[i]));
© www.soinside.com 2019 - 2024. All rights reserved.