数组 – 如何计算数组中的多个值

前端之家收集整理的这篇文章主要介绍了数组 – 如何计算数组中的多个值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以使用Array#count计算一个值.
numbers = [1,2,5,1,3,4,3]
numbers.count(1) #=> 3

如何计算数组中的多个值?

我写的是:

numbers.count(1) + numbers.count(2) #=> 5
[1,2].map{|i| numbers.count(i)}.sum #=> 5

我认为这些有点多余.

解决方法

count也可以占用一个块,所以你可以用一次只遍历数组的方式写一次:
numbers.count {|i| [1,2].include? i } # => 5

或者为了好玩,功能稍强/ point-free风格:

numbers.count &[1,2].method(:include?) # => 5
原文链接:https://www.f2er.com/ruby/265640.html

猜你在找的Ruby相关文章