如果我有这个数组 - [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
..
答案 0 :(得分:6)
试试这个:
array = array[0..-3]
这告诉Ruby从索引0(第一个元素)到索引-3(从最后一个元素开始的第三个元素)获取数组的切片,省略最后两个元素。
或者,您也可以使用Array#slice!
修改数组:
array.slice!(-2, 2)
答案 1 :(得分:4)
使用
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]
答案 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]