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

艾哈迈德·哈姆扎

我想转换这个数组

[['a', 'b'],['c', 'd'],['e', 'f']] 

到这个哈希

{
  "a" : "c",
  "b" : "d"
},
{
  "a" : "e",
  "b" : "f"
}

怎么做?

我尝试使用group_by和普通的迭代器,但到目前为止还没有运气。有任何想法吗?

阿列克谢·马蒂什金(Alexei Matiushkin)
▶ arr = [[:a, :b],[:c, :d],[:e, :f],[:g, :h]]
▶ key, values = arr.first, arr[1..-1]
▶ values.map { |v| key.zip v }.map &:to_h
#⇒ [
#  [0] {
#    :a => :c,
#    :b => :d
#  },
#  [1] {
#    :a => :e,
#    :b => :f
#  },
#  [2] {
#    :a => :g,
#    :b => :h
#  }
# ]

请注意,与此处介绍的其他解决方案不同,此解决方案会将第一个元素作为键映射到任意长度的尾部。

UPD对于没有红宝石的传统红宝石Array#to_h

values.map { |v| key.zip v }.map { |e| Hash[e] }

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

使用键作为字符串,按哈希的第一个元素对哈希数组进行排序

来自分类Dev

如何将数组转换为具有数组元素作为哈希键的哈希并将所有哈希值都设置为给定值

来自分类Dev

如何使用数组元素作为哈希键并将所有哈希值都设置为给定值的方式将数组转换为哈希

来自分类Dev

红宝石哈希作为数组的第一个元素

来自分类Dev

将数组转换为哈希并初始化为一个值

来自分类Dev

将数组转换为哈希的键,值的顺序颠倒

来自分类Dev

Perl:将键和值的数组转换为哈希

来自分类Dev

Perl:将键和值的数组转换为哈希

来自分类Dev

将数组结构从第一个数组转换为第二个

来自分类Dev

将数组数组转换为哈希数组

来自分类Dev

使用深度键将哈希树转换为哈希数组

来自分类Dev

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

来自分类Dev

将数组数组转换为数组和哈希值的组合

来自分类Dev

我如何将数组转换为哈希,其键是数组值,而值是数组的索引

来自分类Dev

将哈希转换为数组

来自分类Dev

将哈希转换为数组

来自分类Dev

将一个数组作为键,将另一个数组作为值

来自分类Dev

将一个数组作为键,将另一个数组作为值

来自分类Dev

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

来自分类Dev

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

来自分类Dev

PHP-如何将一个数组的元素作为键映射到另一个数组,并以数组的形式返回结果值?

来自分类Dev

将 3 个不同数组的所有值转换为它们的绝对值并返回所有 3 个值的方法只保留第一个数组而不是接下来的两个数组

来自分类Dev

比较对象键/值对中没有标准键的两个数组,将缺少的值推入javascript中的第一个数组

来自分类Dev

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

来自分类Dev

将多维数组转换为哈希数组

来自分类Dev

将键0添加到数组PHP中的其他元素时,将删除第一个数组元素

来自分类Dev

将第一个数组值与第二个数组键进行比较并替换值

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

    使用键作为字符串,按哈希的第一个元素对哈希数组进行排序

  4. 4

    如何将数组转换为具有数组元素作为哈希键的哈希并将所有哈希值都设置为给定值

  5. 5

    如何使用数组元素作为哈希键并将所有哈希值都设置为给定值的方式将数组转换为哈希

  6. 6

    红宝石哈希作为数组的第一个元素

  7. 7

    将数组转换为哈希并初始化为一个值

  8. 8

    将数组转换为哈希的键,值的顺序颠倒

  9. 9

    Perl:将键和值的数组转换为哈希

  10. 10

    Perl:将键和值的数组转换为哈希

  11. 11

    将数组结构从第一个数组转换为第二个

  12. 12

    将数组数组转换为哈希数组

  13. 13

    使用深度键将哈希树转换为哈希数组

  14. 14

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

  15. 15

    将数组数组转换为数组和哈希值的组合

  16. 16

    我如何将数组转换为哈希,其键是数组值,而值是数组的索引

  17. 17

    将哈希转换为数组

  18. 18

    将哈希转换为数组

  19. 19

    将一个数组作为键,将另一个数组作为值

  20. 20

    将一个数组作为键,将另一个数组作为值

  21. 21

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

  22. 22

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

  23. 23

    PHP-如何将一个数组的元素作为键映射到另一个数组,并以数组的形式返回结果值?

  24. 24

    将 3 个不同数组的所有值转换为它们的绝对值并返回所有 3 个值的方法只保留第一个数组而不是接下来的两个数组

  25. 25

    比较对象键/值对中没有标准键的两个数组,将缺少的值推入javascript中的第一个数组

  26. 26

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

  27. 27

    将多维数组转换为哈希数组

  28. 28

    将键0添加到数组PHP中的其他元素时,将删除第一个数组元素

  29. 29

    将第一个数组值与第二个数组键进行比较并替换值

热门标签

归档