ruby - 给定 ruby​​ 中的这些键,我如何对这个散列进行排序?

标签 ruby arrays sorting hash

所以我得到了这个哈希。它看起来像这样:

{
  'arg0' => '126150656000',
  'arg1' => 'Intel(R) Core(TM) i7-2640M CPU @ 2.80GHz',
  'arg2' => '2790',
  'arg3' => '3276320768',
  'arg4' => '8467496960',
  'arg5' => 'Windows 7',
  'arg6' => '6.1',
  'arg7' => 'amd64',
  'arg8' => '2',
  'arg9' => '1920',
  'arg10' => '1200',
  'arg11' => '32',
}

Hash 需要根据键的 'argN' 位置转换为位置参数数组。就像这样。

[
  '126150656000',
  'Intel(R) Core(TM) i7-2640M CPU @ 2.80GHz',
  '2790',
  '3276320768',
  '8467496960',
  'Windows 7',
  '6.1',
  'amd64',
  '2',
  '1920',
  '1200',
  '32'
]

这里的目标是 [0] == ['arg0'], [1] == ['arg1'], [N] == ['argN'].

注意:

不能保证键的顺序正确。例如,上面的散列可能在“arg4”“之前”有“arg9”。抱歉没说清楚。

最佳答案

 h.sort_by { | a, _ | a.gsub(/[^\d]/, '').to_i }.map(&:last)

关于ruby - 给定 ruby​​ 中的这些键,我如何对这个散列进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16310120/

相关文章:

javascript - 无法读取 JavaScript 中未定义数组错误的属性长度?

c++ - 在包含数组中存在的所有元素的数组中找到最短的范围

python - 迭代合并排序?

JavaScript 根据名称对 DOM 元素进行排序

ruby-on-rails - Rails 模型返回 nil ID

ruby - 在Ruby中查找数组中两个数字的每个组合的总和

java - Java 中的 == 和 .equals 有什么区别?

ruby-on-rails - 在 find_by_sql 中使用变量

Ruby Yard 文档 : preformatted code

ruby-on-rails - 如何使用 <div class ="field_with_error"> 突出显示 form_tag 中的错误字段