gpt4 book ai didi

ruby-on-rails - 你如何使用 map 来获取哈希而不是数组?

转载 作者:数据小太阳 更新时间:2023-10-29 08:33:25 25 4
gpt4 key购买 nike

我目前正在使用以下方法获取表中某个字段的数组:

Classrooms.all.map(&:teacher_name)

这将返回以下内容:

["James", "Josh", "Peter"]

我想要的是一个散列,所以像下面这样我可以包含 teacher_id 的东西:

{"James" => "1", "Josh" => "2", "Peter" => "3"} 

我尝试使用 Classrooms.all.map(&:teacher_name, &:teacher_id) 但它给我一个语法错误。

谢谢!

最佳答案

用老式的方式做:

pairs = Classrooms.all.map {|t|
[t.teacher_name, t.teacher_id] # [key, value]
}
hash = Hash[pairs] # in /old/ ruby: Hash[*pairs.flatten]

.. 或诸如此类的东西。

参见 In Ruby, how do I make a hash from an array?

关于ruby-on-rails - 你如何使用 map 来获取哈希而不是数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11444829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com