Ale*_*eed 15 ruby ruby-on-rails
我有一系列项目,我需要删除它的前几个项目.Ruby Array类中是否有内置函数来执行此操作?我有一个搜索周围,只发现,看起来像,非常混乱或低效的方式来做到这一点.
我最喜欢这样的东西:
my_items = [ 'item1', 'item2', 'item3', 'item4' ]
trimmed_items = my_items.delete(y, x) # deleting x entries from index y
Run Code Online (Sandbox Code Playgroud)
Aru*_*hit 44
我有一系列项目,我需要删除它的前几个项目.
进行非破坏性删除
Array#drop(x)
会为你做的工作.
从ary中删除前n个元素并返回数组中的其余元素.如果给出负数,则引发ArgumentError.
my_items = [ 'item1', 'item2', 'item3', 'item4' ]
p my_items.drop(2)
p my_items
# >>["item3", "item4"]
# >>["item1", "item2", "item3", "item4"]
Run Code Online (Sandbox Code Playgroud)
要破坏性删除
删除self的第一个元素并将其返回(将所有其他元素向下移动一个).返回nil如果阵列是empty.If数量n给定,返回第n个元素(或更小)一样array.slice的阵列!(0,n)的一样.
my_items = [ 'item1', 'item2', 'item3', 'item4' ]
my_items.shift(2)
p my_items # => ["item3", "item4"]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12258 次 |
最近记录: |