相关疑难解决方法(0)

如何转置不同大小的红宝石阵列?

我有一个数组:

arr=[[1,2,3],[4,5],[6]],
Run Code Online (Sandbox Code Playgroud)

我有以下代码:

arr.transpose 
Run Code Online (Sandbox Code Playgroud)

但它不起作用,如何解决?

我正进入(状态

 [[1,2,3],[4,5],[6]].transpose
IndexError: element size differs (2 should be 3)
    from (irb):13:in `transpose'
    from (irb):13
    from /home/durrant
Run Code Online (Sandbox Code Playgroud)

我的解决方案

arr.reduce(&:zip).map(&:flatten)
Run Code Online (Sandbox Code Playgroud)

输出:

[[1, 4, 6], [2, 5, nil], [3, nil, nil]]
Run Code Online (Sandbox Code Playgroud)

ruby arrays transpose

9
推荐指数
2
解决办法
2674
查看次数

标签 统计

arrays ×1

ruby ×1

transpose ×1