Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby,对指定哈希键传递的哈希数组进行排序_Ruby_Arrays_Hash_Key - Fatal编程技术网

Ruby,对指定哈希键传递的哈希数组进行排序

Ruby,对指定哈希键传递的哈希数组进行排序,ruby,arrays,hash,key,Ruby,Arrays,Hash,Key,我想按指定为参数的已传递哈希键对哈希数组进行排序: array([{'a' => 2}, {'a' => 1}], 'a') => [{'a' => 1}, {'a' => 2}]] array([{a: 1}, {a: 5}, {a: 3}], :a) => [{a:1}, {a: 3}, {a: 5}] 谢谢提供的示例是按值排序,而不是按键排序。是否保证每个哈希都有指定的键?如果没有,应该如何处理那些没有钥匙的?您可以通过在示例中包含其他钥匙来澄清您的

我想按指定为参数的已传递哈希键对哈希数组进行排序:

array([{'a' => 2}, {'a' => 1}], 'a') => [{'a' => 1}, {'a' => 2}]]

array([{a: 1}, {a: 5}, {a: 3}], :a) => [{a:1}, {a: 3}, {a: 5}]

谢谢

提供的示例是按值排序,而不是按键排序。是否保证每个哈希都有指定的键?如果没有,应该如何处理那些没有钥匙的?您可以通过在示例中包含其他钥匙来澄清您的问题(假设我的理解是正确的)。例如:“对于数组[{a:2,b:1},{a:1,b:3},{a:3,b:2}],如果参数是:a,所需的结果是[{a:1,b:2},{a:2,b:1},{a:3,b:2}]。如果参数是:b,所需的结果是[{a:2,b:1},{a:3,b:2},{a:1,b:3}”。”没有回答OP的问题,这里不是按键排序,这个问题也很重要ambigious@bjhaid,我认为这是询问者想要做的:对于给定的键,根据该键的值对数组进行排序。
def array(arr, key)
  arr.sort_by { |a| a[key] }
end