ruby - 如何拼接数组并合并回来
问题描述
假设我有一个像这样的二维数组:
[ 3, 4, 8, 12 ]
[ 2, 6, 7, 16 ]
[ 1, 10, 11, 15 ]
[ 5, 9, 13, 14 ]
我想要at和it into以便我得到以下信息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
解决方案
给定这个数组:
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]
也许你可以把它变成一种方法。
推荐阅读
- javascript - 在鼠标悬停时更改 img
- reactjs - TypeError:this.state 在 reactjs 中不可迭代
- webhooks - 如何使用/显示 rundeck 的 webhook 有效载荷?
- javascript - 如何表示来自 emscripten/webassembly 调用的 void* 返回
- flutter - 如何实现`where`过滤flutter列表中的数据?
- node.js - 拖消息发送到电报机器人(同时)
- c++ - 并行插入排序,天真尝试,尝试使用 pthread 失败,线程未并行排序,但使用串行可以正常工作
- python - Pyinstaller Django 频道问题
- c++ - 如何使用自定义 Avfilter 处理 Chromium FFmpegDecodingLoop 中的元数据?
- python - curve_fit 应用于离散数据集问题