Ruby on Rails-如何知道使用Active Record在数组中出现同一对象多少次?

布鲁诺·亨里克(Bruno Henrique)

如何知道同一对象在数组中出现多少次?我想检查一下找到该对象的次数,例如:

array = ['A','A','A','B','B','C','C','C','D']

因此,A出现了3次,B出现了两次,C也出现了3次,D出现了一次。

我知道如果我使用“ find_all”,例如:

array.find_all{ |e| array.count(e) > 1 }

我会得到答案

["A", "A", "A", "B", "B", "C", "C", "C"]

但是,我该如何计算呢?我想要类似的东西:

 A = 3, B = 2, C = 3, D = 1.
洛基

您可以在数组上使用注入来遍历数组,并将散列传递给每次迭代以存储数据。因此,要检索给定的数组的数量,请执行以下操作:

array = ["A", "A", "A", "B", "B", "C", "C", "C"]
array.inject(Hash.new(0)) do |hash, array_item| 
  hash[array_item] += 1
  hash # this will be passed into the next iteration as the hash parameter
end

=> {"A"=>3, "B"=>2, "C"=>3}

传递Hash.new(0)而不是{}表示您初次遇到时每个键的默认值为0。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

两列上的Ruby Rails Active Record查询

来自分类Dev

Ruby Active Record在Ruby on Rails中返回关系

来自分类Dev

使用 ruby on rails 发送 Json 对象数组

来自分类Dev

如何计算一对特定值在数组中重复多少次?

来自分类Dev

如何使Ruby on Rails(Rails v4,Ruby v1.9.3)与MySQL一起使用

来自分类Dev

使用 ajax 的 Ruby on Rails 渲染对象

来自分类Dev

如何“使用Ruby on Rails表单”

来自分类Dev

如何使用Ruby on Rails关联?

来自分类Dev

如何设置 Ruby on Rails?

来自分类Dev

在Ruby on Rails中使用

来自分类Dev

使用每个Ruby Rails在数组上计数相同的值

来自分类Dev

如何使用Ruby和/或Rails检查数组索引是否存在

来自分类Dev

Ruby on Rails / Active Record:自定义排序顺序

来自分类Dev

Ruby on Rails Active Record RANDOM()在循环内始终相同

来自分类Dev

Ruby on Rails / Active Record:自定义排序顺序

来自分类Dev

Ruby on Rails如何与Amazon RDS一起使用

来自分类Dev

Ruby on Rails:如何验证添加到数组中的对象?

来自分类Dev

Ruby on Rails:使用Parsely-Rails

来自分类Dev

Ruby on Rails 错误使用 Rails 方法

来自分类Dev

Heartbleed如何影响Ruby on Rails?

来自分类Dev

Ruby on Rails:Cookies如何工作?

来自分类Dev

Rails使用的是错误版本的Ruby

来自分类Dev

使用Ruby Rails设置域

来自分类Dev

使用Ruby on Rails的Range Slider

来自分类Dev

使用Qr代码的Ruby on Rails

来自分类Dev

Ruby on Rails使用POST方法

来自分类Dev

使用Ruby on Rails分割javascript

来自分类Dev

使用关联的Ruby on Rails订单

来自分类Dev

在Ruby on Rails中使用:owner