{"1"=>["14", "1"], "2"=>["7", "8", "12", "13"]}} 变成-6ren">
gpt4 book ai didi

ruby-on-rails - ruby 中的 HashMap ?

转载 作者:数据小太阳 更新时间:2023-10-29 08:16:04 24 4
gpt4 key购买 nike

我正在尝试获取通过 AJAX 传递的这个对象:

  Parameters: {"status"=>{"1"=>["14", "1"], "2"=>["7", "8", "12", "13"]}}

变成类似的东西:

14 -> 1
1 -> 1
7 -> 2

我可以对其进行迭代。

实现此目标的最优雅方法是什么?

最佳答案

flat_inverse = {}
parameters["status"].each { |key, values| values.each { |v| flat_inverse[v] = key } }

flat_inverse
# {"14"=>"1", "1"=>"1", "7"=>"2", "8"=>"2", "12"=>"2", "13"=>"2"}

#or more functional
Hash[*parameters["status"].map { |k, vs| vs.zip([k] * v.length) }.flatten]

关于ruby-on-rails - ruby 中的 HashMap ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7515059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com