[英]Other ways of converting part of array to subarray in Ruby?
解析CSV文件時,我需要將一行的字段合並到從第4個字段(第3個數組元素)開始的數組中。 我想像下面的示例中那樣操作每一行:原始數組:
array1 = [1,2,3,4,5]
更改數組:
array2 = [1,2,3,[4,5]]
我的代碼在這里:
array1[0..2].push(array1[3..array1.length])
=> [1, 2, 3, [4, 5]]
我的問題是:是否有更好/更干凈/更簡單的方法將數組的一部分轉換為子數組?
有! 您可以這樣做a = a[0..2] + [a[3..-1]]
。 在ruby中, +
可用於連接數組。 此外, n..-1
為您提供元素n
到數組的末尾。 需要注意的是, +
比concat
慢且昂貴,因此,如果要執行a[0..2].concat([a[3..-1])
,它將更便宜且更快。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.