ruby - 如何拆分数组?

标签 ruby arrays

给定一个数组:

arr = [['a', '1'], ['b','2'], ['c', '3']] 

将它分成两个数组的最佳方法是什么?

例如我想从上面的数组中得到以下两个数组:

first = ['a','b','c']  
second = ['1', '2', '3'] 

我可以使用 collect 来做到这一点吗?

最佳答案

好吧,我只是偶然发现了 arr.transpose

arr = [['a', '1'], ['b','2'], ['c', '3']].transpose 

first = arr[0] 

second = arr[1] 

与上面的答案arr.ziparr.mapforeach相比,哪个效率更高? 或者哪个是最优雅的解决方案?

或 (感谢 Jörg W Mittag 的评论 - 请参阅下面的评论) 第一,第二 = arr.transpose

关于ruby - 如何拆分数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3181368/

相关文章:

ruby-on-rails - 参数错误 : wrong # of arguments(0 for 1) Rails Unit Testing

JavaScript:数字等级到字母等级

c - 为什么对带下标的数组的赋值有效,而对取消引用的指针算术表达式的赋值却无效?

arrays - 如何将 Node js中的格式数组从1个字符串更改为另一个对象

C 错误数组 : array type has incomplete element type.

ruby-on-rails - ruby on Rails 应用程序重新启动时执行脚本

ruby - 如何让本地代理服务器将 html 返回到浏览器?

javascript - 如何使用 Mechanize 处理 JavaScript?

Ruby 如何删除一个以上的空格字符?

java - 生成具有动态大小 d 的所有可能组合?