根据某些条件在ruby中拆分数组

Pi *_*rse 22 ruby arrays multidimensional-array

我有一个名为的数组@level1,其值如下:

[
  [3.1, 4],
  [3.0, 7],
  [2.1, 5],
  [2.0, 6],
  [1.9, 3]
]
Run Code Online (Sandbox Code Playgroud)

我想将它拆分为两个数组,使得第一个array(@arr1)包含值,2.1而第二个array(@arr2)包含其后的值.

在这样做之后,我会通过执行以下操作来反向排序我的第二个数组:

@arr2 = @arr2.sort_by { |x, _| x }.reverse
Run Code Online (Sandbox Code Playgroud)

然后我想将这个数组合并到@arr1.有人可以帮助我如何拆分数组,然后将它们合并在一起?

qqx*_*qqx 69

尝试分区方法

@arr1, @arr2 = @level1.partition { |x| x[0] > 2.1 }
Run Code Online (Sandbox Code Playgroud)

那里的条件可能需要调整,因为在问题中没有明确说明,但这应该提供一个良好的起点.