ruby 将哈希值转换为排序的字符串数组,以便与另一个哈希值进行比较

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 将哈希值转换为排序的字符串数组,以便与另一个哈希值进行比较相关的知识,希望对你有一定的参考价值。

  def deflate(hash)
    hash.collect do |k,v|
      [k.to_s].push v.is_a?(Hash) ? v.to_a.flatten : v
    end.flatten.collect(&:to_s).sort
  end
  
  event1 = { foo: 'bar', bars: [4,6,10] }
  event2 = { bars: [10,4,6], foo: 'bar' }
  
  event1 == event2 
  # => false
  
  deflate(event1) == deflate(event2)
  # => true
  

以上是关于ruby 将哈希值转换为排序的字符串数组,以便与另一个哈希值进行比较的主要内容,如果未能解决你的问题,请参考以下文章

在Ruby中将嵌套哈希键从CamelCase转换为snake_case

ruby 将嵌套数组转换为哈希

ruby Rails'index_by:将数组转换为哈希的简便方法

将文件中的字符串转换为十六进制(Ruby)第二部分

将 Ruby 哈希转换为 YAML

Ruby - 按值按降序排序哈希值