Fle*_*seo 2 ruby arrays sorting multidimensional-array
什么是最简单的ruby代码来对该表进行排序,以便在第一列上以升序排序,而在第二列中以降序排序
matrix = [ [1,1],
[2,1],
[2,4],
[2,3],
[2,2],
[3,1],
[4,2],
[4,3],
[4,4],
[1,4],
[1,3],
[1,2],
[3,2],
[3,4],
[3,3],
[4,1] ]
Run Code Online (Sandbox Code Playgroud)
结果表应为:
[[1,4],
[1,3],
[1,2],
[1,1],
[2,4],
[2,3],
[2,2],
[2,1],
[3,4],
[3,3],
[3,2],
[3,1],
[4,4],
[4,3],
[4,2],
[4,1] ]
Run Code Online (Sandbox Code Playgroud)
任何帮助,泰德
matrix.sort_by {|e| [e[0], -e[1]]}
Run Code Online (Sandbox Code Playgroud)
我认为这是最简单的方法,但是根据文档,当键集很简单时它可能会非常昂贵。