sep*_*p2k 63
您可以使用new_array = array.reject {|x| x < 3}(reject返回一个新数组)或array.reject! {|x| x < 3}(reject!也就是delete_if修改数组).
还有(稍微更常见)的select方法,reject除了你指定保留元素的条件,而不是拒绝它们(即去除小于3的元素,你会使用new_array = array.select {|x| x >= 3})之外的行为.
kte*_*tec 14
可能值得指出这一点
array.reject! {|x| x < 3}
Run Code Online (Sandbox Code Playgroud)
和
array.delete_if {|x| x < 3}
Run Code Online (Sandbox Code Playgroud)
是一样的,但是
array.reject {|x| x < 3}
Run Code Online (Sandbox Code Playgroud)
仍将返回相同的结果,但不会更改"数组".
a = [ "a", "b", "c" ]
a.delete_if {|x| x >= "b" } #=> ["a"]
Run Code Online (Sandbox Code Playgroud)