Dan*_*May 2 ruby arrays sorting hash
得到一个 Ruby 数组,如:
[ { "lat" => 123, "lon" => 456 },
{ "lat" => 789, "lon" => 102, "col" => "red" },
{ "lat" => 442, "lon" => 342 } ]
Run Code Online (Sandbox Code Playgroud)
我想对它进行排序,以便将任何col作为键的散列推到数组的顶部或底部。
无法弄清楚正确的sort_by语法/语义。
a = [ { "lat" => 123, "lon" => 456 },
{ "lat" => 789, "lon" => 102, "col" => "red" },
{ "lat" => 442, "lon" => 342 } ]
Run Code Online (Sandbox Code Playgroud)
如果你想把它们放在最上面,那么
a.partition{|h| h.key?("col")}.flatten
Run Code Online (Sandbox Code Playgroud)
如果你想把它们放在底部,那么按照铁皮人的建议,
a.partition{|h| h.key?("col").!}.flatten
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
198 次 |
| 最近记录: |