我正在尝试将数组细分为数组对.
例如:["A","B","C","D"]应该成为[["A","B"],["C","D"].
我相信我已经成功了arg.each_slice(2).to_a.但是,如果我arg.length在新阵列上做的话,我仍然会得到4.我希望得到2(在上面的例子中).
最后,我希望能够调用的第一个元素arg是["A","B"],但在此刻,我仍然得到"A".
Fle*_*oid 19
array = ["A", "B", "C", "D"]
array
=> ["A", "B", "C", "D"]
array.each_slice(2).to_a
=> [["A", "B"], ["C", "D"]]
array.each_slice(2).to_a.length
=> 2
Run Code Online (Sandbox Code Playgroud)
也许你期望array.each_slice(2).to_a会改变你的原创array,但在这里你会有新的Array对象,因为each_slice它是非破坏性的方法,就像红宝石中的大多数一样.
new_array = array.each_slice(2).to_a
new_array
=> [["A", "B"], ["C", "D"]]
new_array[0]
=> ["A", "B"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12961 次 |
| 最近记录: |