我可以使用 Array#count
计算一个值。
numbers = [1, 2, 5, 5, 1, 3, 1, 2, 4, 3]
numbers.count(1) #=> 3
如何计算数组中的多个值?
我写的是:
numbers.count(1) + numbers.count(2) #=> 5
[1,2].map{|i| numbers.count(i)}.sum #=> 5
我觉得这些有点多余。
最佳答案
count
也可以取一个 block ,所以你可以用只遍历数组一次的方式来写:
numbers.count {|i| [1,2].include? i } # => 5
或者为了好玩,在一个稍微更实用的/point-free风格:
numbers.count &[1,2].method(:include?) # => 5
关于arrays - 如何计算数组中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37200425/