Ruby过滤数组

示例

通常,我们只想对满足特定条件的数组元素进行操作:

选择

将返回符合特定条件的元素

array = [1, 2, 3, 4, 5, 6]
array.select { |number| number > 3 } # => [4, 5, 6]

拒绝

将返回不符合特定条件的元素

array = [1, 2, 3, 4, 5, 6]
array.reject { |number| number > 3 } # => [1, 2, 3]

双方#select并#reject返回一个数组,这样他们就可以被链接:

array = [1, 2, 3, 4, 5, 6]
array.select { |number| number > 3 }.reject { |number| number < 5 }
  # => [5, 6]