当前位置: 首页 > 面试题库 >

用JavaScript转置2D数组

娄森
2023-03-14
问题内容

我有一个数组数组,就像:

[
    [1,2,3],
    [1,2,3],
    [1,2,3],
]

我想转置它以获得以下数组:

[
    [1,1,1],
    [2,2,2],
    [3,3,3],
]

使用循环以编程方式这样做并不难:

function transposeArray(array, arrayLength){
    var newArray = [];
    for(var i = 0; i < array.length; i++){
        newArray.push([]);
    };

    for(var i = 0; i < array.length; i++){
        for(var j = 0; j < arrayLength; j++){
            newArray[j].push(array[i][j]);
        };
    };

    return newArray;
}

但是,这似乎很庞大,我觉得应该有一个更简单的方法来做到这一点。在那儿?


问题答案:

array[0].map((col, i) => array.map(row => row[i]));

map``callback依次为数组中的每个元素调用提供的函数,然后从结果中构造一个新的数组。callback仅针对已分配值的数组索引调用;对于已删除或从未分配值的索引,不会调用它。

callback用三个参数调用:元素的值,元素的索引和要遍历的Array对象。



 类似资料:
  • 在这里,我试图将转换为一个1D数组。

  • 问题内容: 在Java中,如何将ArrayList转换为二维数组Object [] []? 从评论中:我将用更多细节向您描述问题:XML文件包含联系人列表(例如姓名,地址…)。我可以获得此信息的唯一方法是通过ArrayList,该列表将提供给我。由于需要将该数组列表的内容以有序方式存储在Java Swing表中,因此我正在考虑将其转换为对象的二维数组 问题答案: 知道每个联系人具有的属性数量,我设

  • 我写了一个函数,它接受两个参数: > JPG图像作为3D数组 α给出的旋转度我的方法是: 公共静态整数[][]旋转(整数[][]img,双alpha){双rad=Math.toRadians(alpha);双sin=Math.sin(rad);双cos=Math.cos(rad); } 在固定索引范围的同时,输出是一个黑色的图像。我错过了什么?

  • 问题内容: 在JavaScript中,是否可以从2D数组生成HTML表?编写HTML表的语法往往非常冗长,因此我想从2D JavaScript数组生成HTML表,如下所示: 会成为: 因此,我试图编写一个JavaScript函数,该函数将从2D JavaScript数组返回一个表,如下所示: 问题答案: 这是一个将使用dom而不是字符串连接的函数。

  • 问题内容: 我正在自学一些Java,并且坚持创建2D数组,该数组使用随机值对其进行初始化,然后创建该数组的转置。 示例输出为: 原始矩阵 转置矩阵 ^应该是最终输出。代码的一些帮助将不胜感激! 如果行或列的数量超出指定范围,我想编写代码以生成错误消息。以及是否从命令行读取矩阵元素而不是随机生成它们。 问题答案: 这是返回转置矩阵的int [] []的简单方法… 比起打印二维矩阵,您可以使用如下方法

  • 本文向大家介绍将2D表格数据条目转换为JavaScript中的对象数组,包括了将2D表格数据条目转换为JavaScript中的对象数组的使用技巧和注意事项,需要的朋友参考一下 假设我们有一个像这样的数组的数组- 我们需要编写一个JavaScript函数,该函数接受一个这样的数组作为第一个也是唯一的输入。 然后,该函数应基于输入数组构造一个新的对象数组。该数组应为输入数组的每个唯一子数组包含一个对象