从 Ruby on Rails 数组中的哈希表中检索特定值

17

这里是一个初学者的问题!

我有一个包含哈希的数组,看起来像这样:

arr = [{id: 1, name: "Pedro"},{id: 2, name: "Pablo"}]

我想要得到这样一个数组:

ids = [1,2]

我研究了如何使用map或select,就像这样:

ids = arr.each.select{|k,v| "id"==k}

但我想不出来。

1个回答

31

尝试以下内容:

ids = arr.map { |x| x[:id] }

2
@Cycle:有几个原因:首先,:[不是一个符号,因为[不是一个有效的标识符。其次,你不能在方法参数中使用&技巧,因为精确的语法是method(arg1, arg2, ..., &x),其中x是一个表达式,它评估为具有to_proc方法的值。该to_proc方法被调用,并将生成的Proc对象作为块参数传递给method - Niklas B.
没问题。我需要检索多个值,例如(id和name)。这是可能的吗? - sasikkumar
@sasikkumare 为什么不可能呢? - Niklas B.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接