ruby - 切片数组数组

标签 ruby arrays multidimensional-array

样本数组,

# sub-arrays are all of the same length
arr = [[1,2,3,4], [5,6,7,8], [2,4,6,8], [1,3,5,7]]

现在,

arr.some_slicing_technique(0..2)

应该给我,

[[1,2,3], [5,6,7], [2,4,6], [1,3,5]]

some_slicing_technique 是否存在?解决此问题的最佳方法是什么?

最佳答案

你可以这样做:

[[1,2,3,4], [5,6,7,8], [2,4,6,8], [1,3,5,7]].map {|e| e.take(3)}

=> [[1, 2, 3], [5, 6, 7], [2, 4, 6], [1, 3, 5]]

或者如果你想使用范围:

[[1,2,3,4], [5,6,7,8], [2,4,6,8], [1,3,5,7]].map {|e| e[0..2]}

关于ruby - 切片数组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9088010/

相关文章:

ruby - 计数 Ruby 1.8.6 中数组中值的实例

ruby-on-rails - ruby rails : pass params to link_to to call the create path

c++ - 在Vector类对象上调用push_back()方法时收到错误

javascript - 在 JavaScript 中展平多维数组

ruby-on-rails - Rails 验证语句中的 lambda 表达式

ruby - 如何使用 Ruby 基于字母数字字符串生成颜色?

c - 使用变量将不同的字符串分配给 char 数组

java - HSQL在jdbc create array语句中引用自定义类型

java - Java如何找到二维数组的中间

C# for 循环计数数组不工作