Ruby:将数组映射为哈希,在哈希内创建一个数组

罗伯托·佩扎利(Roberto Pezzali)

我正在创建一个简单的分析图,为避免实时进行繁重的查询,我需要将缓存的结果数据集保存在专用于这些统计信息的表中。

任何用户都可以尝试某些课程,而我想使用状态保存该课程的ID。所以像

{ "invited": [1,3,6], "done": [2,9] }

我写这个功能

u.courses.map { |w| [w.status, []<<w.id]  }.to_h

但是当然每次迭代都会初始化我的数组,所以我有

{"invited"=>[5101]}

如果我尝试

u.courses.map { |w| [w.status, []<<w.id]  }

我得到

[["invited", [1]], ["invited", [748]], ["invited", [1445]], ["invited", [2113]], ["invited", [2833]], ["invited", [6017]], ["invited", [4146]], ["invited", [5101]]]

如何在第一次迭代中创建数组,并将其保留在地图中?

钾盐

您可以尝试each_with_object

u.courses.each_with_object({}){|w, o| (o[w.status] ||= []) << w.id}

reduce/inject

u.courses.reduce({}){|o, w| (o[w.status] ||= []) << w.id}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby:将数组映射为哈希,在哈希内创建一个数组

来自分类Dev

创建一个包含哈希的数组

来自分类Dev

将第一个数组的元素作为哈希键,将数组数组转换为哈希值

来自分类Dev

将第一个数组的元素作为哈希键,将数组数组转换为哈希值

来自分类Dev

将javascript中的数组组合成一个哈希数组,其中一个数组是所有键,其余为值

来自分类Dev

从perl中的一部分哈希创建一个数组

来自分类Dev

Ruby循环数组并为每个数组对象创建哈希

来自分类Dev

将哈希数组反向映射到哈希

来自分类Dev

将哈希表数组中的元素移动到PowerShell中的另一个数组

来自分类Dev

Ruby会从哈希散列的一部分中快速组成一个数组吗?

来自分类Dev

通过另一个哈希过滤Ruby哈希数组

来自分类Dev

在包含哈希的数组内创建哈希

来自分类Dev

从Ruby中的数组创建哈希

来自分类Dev

如何将两个数组“压缩”为哈希

来自分类Dev

Ruby:将一个数组“弹出”并推入另一个数组

来自分类Dev

Ruby:将一个数组“弹出”并推入另一个数组

来自分类Dev

将一个数组排序为另一个数组-C

来自分类Dev

将一个数组设置为另一个数组

来自分类Dev

将2个数组放入perl的哈希中

来自分类Dev

将2个数组放入perl的哈希中

来自分类Dev

如何在一个数组中多次重复单个哈希?

来自分类Dev

为什么将Ruby哈希称为哈希,而不将其称为映射,字典,表或关联数组?

来自分类Dev

用Twig在for循环内创建一个数组

来自分类Dev

在lambda捕获内创建一个数组

来自分类Dev

使用数组在PHP中创建哈希映射

来自分类Dev

使用初始值作为键哈希一个数组,并使用一个块生成键值

来自分类Dev

Ruby哈希表数组;仅保留包含特定键=>值对的第一个元素

来自分类Dev

删除周围的数组并在Ruby中传递一个哈希

来自分类Dev

如何将数组映射到哈希

Related 相关文章

  1. 1

    Ruby:将数组映射为哈希,在哈希内创建一个数组

  2. 2

    创建一个包含哈希的数组

  3. 3

    将第一个数组的元素作为哈希键,将数组数组转换为哈希值

  4. 4

    将第一个数组的元素作为哈希键,将数组数组转换为哈希值

  5. 5

    将javascript中的数组组合成一个哈希数组,其中一个数组是所有键,其余为值

  6. 6

    从perl中的一部分哈希创建一个数组

  7. 7

    Ruby循环数组并为每个数组对象创建哈希

  8. 8

    将哈希数组反向映射到哈希

  9. 9

    将哈希表数组中的元素移动到PowerShell中的另一个数组

  10. 10

    Ruby会从哈希散列的一部分中快速组成一个数组吗?

  11. 11

    通过另一个哈希过滤Ruby哈希数组

  12. 12

    在包含哈希的数组内创建哈希

  13. 13

    从Ruby中的数组创建哈希

  14. 14

    如何将两个数组“压缩”为哈希

  15. 15

    Ruby:将一个数组“弹出”并推入另一个数组

  16. 16

    Ruby:将一个数组“弹出”并推入另一个数组

  17. 17

    将一个数组排序为另一个数组-C

  18. 18

    将一个数组设置为另一个数组

  19. 19

    将2个数组放入perl的哈希中

  20. 20

    将2个数组放入perl的哈希中

  21. 21

    如何在一个数组中多次重复单个哈希?

  22. 22

    为什么将Ruby哈希称为哈希,而不将其称为映射,字典,表或关联数组?

  23. 23

    用Twig在for循环内创建一个数组

  24. 24

    在lambda捕获内创建一个数组

  25. 25

    使用数组在PHP中创建哈希映射

  26. 26

    使用初始值作为键哈希一个数组,并使用一个块生成键值

  27. 27

    Ruby哈希表数组;仅保留包含特定键=>值对的第一个元素

  28. 28

    删除周围的数组并在Ruby中传递一个哈希

  29. 29

    如何将数组映射到哈希

热门标签

归档