我有一个数组:
arr = [1,1,2,3,5,8,13,21,34]
我想以与过滤数组相同的方式过滤数组,select
但也分别收集所有不符合条件的元素:
[evens, odds] = arr.split_filter {|p| p % 2 == 0}
# evens = [2, 8, 34]
# odds = [1, 1, 3, 5, 13, 21]
我可以
evens = arr.select {|p| p % 2 == 0}
odds = arr.select {|p| p % 2 != 0}
但这似乎效率低下。有谁知道这样的功能split_filter
?