我想删除数组的第一位并返回不包含第一项的数组
new_array
总是作为单个数字出现
n
是整数
array = (n.to_s).split(//)
print array
new_array = array.delete_at(0)
puts new_array
答案 0 :(得分:2)
从数组中删除前n个元素,并返回数组中的其余元素。
a = [41,42,43,45,46]
=> [41, 42, 43, 45, 46]
a.drop 1
=> [42, 43, 45, 46]
答案 1 :(得分:0)
您可以通过以下方式使用Integer#digits和Object#tap:
n = 12345678
position = 3
n.digits.reverse.tap { |ary| ary.delete_at(position) }
#=> [1, 2, 3, 5, 6, 7, 8]
position = 0
删除第一个数字。
答案 2 :(得分:0)
irb(main):001:0> arr = (1..10).to_a
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
irb(main):002:0> arr.shift
=> 1
irb(main):003:0> arr
=> [2, 3, 4, 5, 6, 7, 8, 9, 10]
我希望对您有帮助
答案 3 :(得分:0)
您可以使用数组方法drop
从数组中删除n个元素
arr = [1, 2, 3, 4, 5]
arr.drop 2
=> [3, 4, 5]
ref:https://docs.ruby-lang.org/en/2.0.0/Array.html#method-i-drop
答案 4 :(得分:-1)
因为delete_at
返回已删除的项目。
如果要同时删除和检索第一项,可以使用-
new_array = array.drop(1)