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,我会重写.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |