ruby-on-rails – Ruby / RoR – 计数数组中元素的出现

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Ruby / RoR – 计数数组中元素的出现前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是一个哈希

{1 => true,7 => false,6 => true,4 => false}

或类似的数组

[1,true],[7,false],[6,[4,false]]

要么

[真,假,真,假].

我如何找到数组中的trues数?

解决方法

为了计算元素,你显然必须遍历这个集合.由于迭代Hash会产生两个元素的数组,前两个实际上完全相同:
{ 1 => true,4 => false }.count(&:last)
[[1,false]].count(&:last)

对于简单的Array案例,您可以执行以下操作:

[true,false,true,false].count(true)

这个数组当然也和上面的哈希值的哈希值相同,所以你可以使用相同的方法

{ 1 => true,4 => false }.values.count(true)

如果你不知道你会得到哪一个,你可以使用这样的东西:

{ 1 => true,4 => false }.flatten.count(true)
[[1,false]].flatten.count(true)
[true,false].flatten.count(true)

猜你在找的Ruby相关文章