Arrays 从数组中删除项后,获取剩余数组的最有效方法是什么?
方法返回已删除的项 但是,如果我需要剩余的数组而不更改原始数组,该怎么办 这是一个选择:Arrays 从数组中删除项后,获取剩余数组的最有效方法是什么?,arrays,ruby,Arrays,Ruby,方法返回已删除的项 但是,如果我需要剩余的数组而不更改原始数组,该怎么办 这是一个选择: %w(hello stack overflow !).delete_if{|x| x == 'overflow'} # => ["hello", "stack", "!"] 我想知道是否有更好的方法,比如: %w(hello stack overflow !).<something>('overflow') 有什么想法吗 %w(hello stack overflow !) - %w(
%w(hello stack overflow !).delete_if{|x| x == 'overflow'}
# => ["hello", "stack", "!"]
我想知道是否有更好的方法,比如:
%w(hello stack overflow !).<something>('overflow')
有什么想法吗
%w(hello stack overflow !) - %w(overflow)
=> ["hello", "stack", "!"]
因此,请使用delete方法
因此,请使用delete方法。一种方法如下:
newarray = old_array.select {|item| item != "overflow"}
一种方法是这样的:
newarray = old_array.select {|item| item != "overflow"}
是的
%w(hello stack overflow !).reject {|x| x == 'overflow'}
这将为您保留数组,并仅删除等于“溢出”的字符串
%w(hello stack overflow !).reject {|x| x == 'overflow'}
这将为您保留数组,并且只删除等于“溢出”的字符串。我认为这将非常低效。我认为它将与-运算符具有相同的效率,因为它们都在创建新数组。我认为这将非常低效。我认为它将与-运算符具有相同的效率,因为他们都在创建新的数组。不应该更改原始数组。不应该更改原始数组。这与我的建议基本相同。不幸的是,我认为没有比这更简单的方法了:如果你找到了,请告诉我,因为我也有兴趣找到。这与我的建议基本相同。我没有不幸的是,想想还有比这更短的方法:如果你真的找到了,请告诉我,因为我也有兴趣找到。