Nul*_*uli 247 ruby ruby-on-rails
让我们说我有一个阵列
[0, 132, 432, 342, 234]
Run Code Online (Sandbox Code Playgroud)
摆脱第一个元素的最简单方法是什么?(0)
sca*_*guy 351
a = [0,1,2,3]
a.drop(1)
# => [1, 2, 3]
a
# => [0,1,2,3]
Run Code Online (Sandbox Code Playgroud)
另外:
[0,1,2,3].drop(2)
=> [2, 3]
[0,1,2,3].drop(3)
=> [3]
Run Code Online (Sandbox Code Playgroud)
bra*_*boy 301
shift
在数组上使用该方法
>> x = [4,5,6]
=> [4, 5, 6]
>> x.shift
=> 4
>> x
=> [5, 6]
Run Code Online (Sandbox Code Playgroud)
如果要删除n个起始元素,可以使用 x.shift(n)
vis*_*ise 127
[0, 132, 432, 342, 234][1..-1]
=> [132, 432, 342, 234]
Run Code Online (Sandbox Code Playgroud)
所以不像shift
或者slice
这会返回修改后的数组(对一个内衬有用).
hur*_*n77 98
这很漂亮:
head, *tail = [1, 2, 3, 4, 5]
#==> head = 1, tail = [2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
正如评论中所写,没有改变原始列表的优点.
Rah*_*tel 12
使用移位方法
array.shift(n) => Remove first n elements from array
array.shift(1) => Remove first element
Run Code Online (Sandbox Code Playgroud)
https://ruby-doc.org/core-2.2.0/Array.html#method-i-shift
小智 6
您可以使用:
arr - [arr[0]]
Run Code Online (Sandbox Code Playgroud)
或者
arr - [arr.shift]
Run Code Online (Sandbox Code Playgroud)
或者简单地
arr.shift(1)
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用 Array.delete_at(0) 方法来删除第一个元素。
x = [2,3,4,11,0]
x.delete_at(0) unless x.empty? # [3,4,11,0]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
167288 次 |
最近记录: |