2017-03-31 56 views
0

如果我有這個數組 - [49, 33, 8, 45, 20, 6, 34, 50, 31, 36, 28, 42, 35, 32, 7, 2, 9, 1, 18, 21]我怎麼能得到這個返回 - [49, 33, 8, 45, 20, 6, 34, 50, 31, 36, 28, 42, 35, 32, 7, 2, 9, 1]我試過這個,它不起作用。 array.size - 2 ..刪除數組中的最後2個元素 - Ruby

+1

'array [0 ...- 2]' –

回答

2

使用

array = [49, 33, 8, 45, 20, 6, 34, 50, 31, 36, 28, 42, 35, 32, 7, 2, 9, 1, 18, 21]

去除最後兩個元素使用

a[0..-3]

a[0..a.length-3]

4

嘗試這種情況:

array = array[0..-3] 

這告訴紅寶石採取從索引0(第一個元素)至索引-3(從最後一個元素第三)的陣列的片,省略了最後兩個要素。

可替換地,也可以使用修改Array#slice!代替數組:

array.slice!(-2, 2) 
1

pop方法去除(和返回)從陣列的最後一個元素。它帶有一個可選的參數:

a = [49, 33, 8, 45, 20, 6, 34, 50, 31, 36, 28, 42, 35, 32, 7, 2, 9, 1, 18, 21] 

a.pop(2) 

p a # => [49, 33, 8, 45, 20, 6, 34, 50, 31, 36, 28, 42, 35, 32, 7, 2, 9, 1] 
相關問題