加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 合并两个Hashses

发布时间:2020-12-17 02:56:26 所属栏目:百科 来源:网络整理
导读:我正在使用Google思域信息API.它给了我两个哈希数组.我想在屏幕上打印两者的信息.散列1有一些整数作为k-v对(officialIndices).这些表示第二个哈希中相应对象的索引号.如何合并这两个?我想一起显示两个哈希的信息.也许最好用第二个数组中的索引哈希替换offic
我正在使用Google思域信息API.它给了我两个哈希数组.我想在屏幕上打印两者的信息.散列1有一些整数作为k-v对(officialIndices).这些表示第二个哈希中相应对象的索引号.如何合并这两个?我想一起显示两个哈希的信息.也许最好用第二个数组中的索引哈希替换officialIndices的值.谢谢你的建议!

哈希1:

{
  "name"       => "President of the United States","divisionId" => "ocd-division/country:us","levels" => ["country"],"roles" => ["headOfState","headOfGovernment"],"officialIndices" => [0]
}

哈希2:

{
  "name" => "Barack Obama","address" => [{
    "line1" => "The White House","line2" => "1600 pennsylvania avenue nw","city" => "washington","state" => "DC","zip" => "20500"
  }],"party" => "Democratic","phones" => ["(202) 456-1111"],"urls" => ["http://www.whitehouse.gov/"],"photoUrl" => "http://www.whitehouse.gov/sites/default/files/imagecache/admin_official_lowres/administration-official/ao_image/president_official_portrait_hires.jpg","channels" => [
    { "type" => "GooglePlus","id" => "+whitehouse" },{ "type" => "Facebook","id" => "whitehouse" },{ "type" => "Twitter",{ "type" => "YouTube","id" => "barackobama" }
  ]
}

编辑**为了澄清,哈希1是哈希数组中的第一个哈希.散列2是散列数组中的第一个散列.我想用Hash 2替换Hash 1中的officialIndice中的数字.这让我感到困惑,因为一些官方指标有多个数字.希望有道理.

解决方法

合并不起作用;如果officialIndices有多个元素,你会怎么做?

array1.each do |el1|
  el1["officials"] = el1["officialIndices"].map { |idx|
    array2[idx]
  }
  el1.delete("officialIndices")
end

(注意:这是破坏性的,即它会改变array1.如果你想改变array1,我会重写.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读