And*_*rew 5 ruby arrays object
请原谅我,如果已经被问过,我找不到它.
我有一个对象数组,如:
[<#Folder id:1, name:'Foo', display_order: 1>,
<#Folder id:1, name:'Bar', display_order: 2>,
<#Folder id:1, name:'Baz', display_order: 3>]
Run Code Online (Sandbox Code Playgroud)
我想将该数组转换为名称数组,例如:
['Foo','Bar','Baz']
Run Code Online (Sandbox Code Playgroud)
而且,当我在它的时候,如果我可以使用相同的技术从两个参数创建一个数组,即名称和显示顺序如下:
[['Foo',1],['Bar',2],['Baz',3]]
Run Code Online (Sandbox Code Playgroud)
做这种事的最好的'Ruby Way'是什么?
谢谢!
hta*_*ata 15
这些怎么样?
# ['Foo','Bar','Baz']
array = folders.map { |f| f.name }
# This does the same, but only works on Rails or Ruby 1.8.7 and above.
array = folders.map(&:name)
# [['Foo',1],['Bar',2],['Baz',3]]
array = folders.map { |f| [f.name, f.display_order] }
Run Code Online (Sandbox Code Playgroud)