如何拼接数组并合并回去

时间:2018-10-11 14:08:46

标签: ruby algorithm multidimensional-array

说我有一个二维数组,像这样:

[ 3,    4,   8,   12 ]
[ 2,    6,   7,   16 ]
[ 1,   10,  11,   15 ]
[ 5,    9,  13,   14 ]

我想将shift处的6 [1][1]unshift放入[2][1]中,以便获得以下信息:

[ 3,    4,   8,    12 ]
[ 2,    7,   11,   16 ]
[ 1,    6,   10,   15 ]
[ 5,    9,   13,   14 ]

我以为我会在第二个数组和第三个数组上splice(1,1)来获得:

a: [6, 7]
b: [10, 11]

然后执行:

b.unshift(a.shift)
a << b.pop

1 个答案:

答案 0 :(得分:1)

给出此数组:

ary = [
        [ 3,    4,   8,   12 ],
        [ 2,    6,   7,   16 ],
        [ 1,   10,  11,   15 ],
        [ 5,    9,  13,   14 ]
      ]

您可以通过并行分配来实现:

ary[2][1], ary[1][1], ary[2][2], ary[1][2] = ary[1][1], ary[1][2], ary[2][1], ary[2][2]

也许您可以将其变成一种方法。