我想不出一个简单的方法。有办法吗?
kkih6yb81#
使用unshift方法怎么样?ary.unshift(obj, ...) → ary将对象前置到自身的前面,将其他元素向上移动。在使用中:
unshift
ary.unshift(obj, ...) → ary
a = [ 0, 1, 2] a.unshift('x') # => ["x", 0, 1, 2] a.inspect # => "["x", 0, 1, 2]"
r6vfmomb2#
您可以使用insert:
insert
a = [1,2,3] a.insert(0,'x') => ['x',1,2,3]
其中,第一个参数是要插入的索引,第二个参数是值。
r1zk6ea13#
array = ["foo"] array.unshift "bar" array => ["bar", "foo"]
注意,这是毁灭性的!
ctrmrzij4#
从Ruby 2.5.0开始,Array就附带了prepend方法(它只是unshift方法的别名)。
prepend
sxpgvts35#
也可以使用数组串联:
a = [2, 3] [1] + a => [1, 2, 3]
这将创建一个新数组,而不会修改原始数组。
frebpwbc6#
可以使用methodsolver查找Ruby函数。这是一个小脚本,
methodsolver
require 'methodsolver' solve { a = [1,2,3]; a.____(0) == [0,1,2,3] }
查一下指纹
Found 1 methods - Array#unshift
您可以使用安装methodsolver
gem install methodsolver
mi7gmzs67#
您可以使用prepend和delete的组合,它们既符合习惯用法,又能揭示意图:
delete
array.delete(value) # Remove the value from the array array.prepend(value) # Add the value to the beginning of the array
或者在一行中:
array.prepend(array.delete(value))
7条答案
按热度按时间kkih6yb81#
使用
unshift
方法怎么样?ary.unshift(obj, ...) → ary
将对象前置到自身的前面,将其他元素向上移动。
在使用中:
r6vfmomb2#
您可以使用
insert
:其中,第一个参数是要插入的索引,第二个参数是值。
r1zk6ea13#
注意,这是毁灭性的!
ctrmrzij4#
从Ruby 2.5.0开始,Array就附带了
prepend
方法(它只是unshift
方法的别名)。sxpgvts35#
也可以使用数组串联:
这将创建一个新数组,而不会修改原始数组。
frebpwbc6#
可以使用
methodsolver
查找Ruby函数。这是一个小脚本,
查一下指纹
您可以使用安装methodsolver
mi7gmzs67#
您可以使用
prepend
和delete
的组合,它们既符合习惯用法,又能揭示意图:或者在一行中: