首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >给定n个subArrays Sn的数组A,我如何选择Sn[i]成员的数组?

给定n个subArrays Sn的数组A,我如何选择Sn[i]成员的数组?
EN

Stack Overflow用户
提问于 2012-06-20 13:05:31
回答 5查看 357关注 0票数 0

给定n个subArrays Sn的数组A,我如何选择Ruby成员的数组?

例如,给定一个languages数组,如下所示:

代码语言:javascript
复制
languages = [ ['Italiano', 'it'], ["English", 'en'], ["Française", 'fr' ] ]

我怎样才能得到阵列..。

代码语言:javascript
复制
locales_in_languages = ['it', 'en', 'fr' ]

...which包含所有的language[1]对象?

是否有一种简单而“规则”的方法来实现这一点?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-06-20 13:19:23

您可以使用Array#transpose方法来完成这个任务:

代码语言:javascript
复制
irb(main):014:0> languages = [ ['Italiano', 'it'], ["English", 'en'], ["Française", 'fr' ] ]
=> [["Italiano", "it"], ["English", "en"], ["Française", "fr"]]
irb(main):015:0> languages.transpose[1]
=> ["it", "en", "fr"]
票数 3
EN

Stack Overflow用户

发布于 2012-06-20 13:07:24

一般来说,它将是:

代码语言:javascript
复制
array.map { |subarray| subarray[i] }

如果需要每个数组的第一个(或最后一个)元素,可以这样做:

代码语言:javascript
复制
array.map(&:first) # similar array.map(&:last)

请参阅文档 for Enumerable#map方法。

顺便说一句,对于Rails,您还可以使用&:second&:third&:fourth&:fifth甚至&:forty_two

票数 5
EN

Stack Overflow用户

发布于 2012-06-20 13:18:37

另一种选择:

代码语言:javascript
复制
#encoding: utf-8
LANGUAGES = [ ['Italiano', 'it'], ["English", 'en'], ["Française", 'fr' ] ]
p LANGUAGES.transpose.last #=>["it", "en", "fr"]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11120244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档