【问题标题】:How can I filter a hash from an array of symbols? [duplicate]如何从符号数组中过滤散列? [复制]
【发布时间】:2013-10-17 21:27:00
【问题描述】:

所以我有一个哈希值,我想根据一个数组进行过滤:

h = {a: 'test1', b: 'test2', c: 'test3'}
a = [:a, :poo1, :poo2]

我的第一个想法是尝试:

h.slice(a)

但是当我希望它返回{:a=>"test1"}时,它返回{}。我似乎找不到一种基于符号数组过滤哈希的简单方法。想法?

【问题讨论】:

    标签: ruby activesupport


    【解决方案1】:

    您可以使用 splat 运算符解决此问题:

    h.slice(*a)
    

    这会产生

    > {:a=>"test1"}
    

    要了解星号的作用,请参阅this 链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-18
      • 1970-01-01
      • 2020-12-21
      • 2013-09-10
      • 2015-08-20
      相关资源
      最近更新 更多