Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 从数组中删除项后,获取剩余数组的最有效方法是什么?_Arrays_Ruby - Fatal编程技术网

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'}

这将为您保留数组,并且只删除等于“溢出”的字符串。

我认为这将非常低效。我认为它将与-运算符具有相同的效率,因为它们都在创建新数组。我认为这将非常低效。我认为它将与-运算符具有相同的效率,因为他们都在创建新的数组。不应该更改原始数组。不应该更改原始数组。这与我的建议基本相同。不幸的是,我认为没有比这更简单的方法了:如果你找到了,请告诉我,因为我也有兴趣找到。这与我的建议基本相同。我没有不幸的是,想想还有比这更短的方法:如果你真的找到了,请告诉我,因为我也有兴趣找到。