我正在尝试制作包含表格的页面,表格的内容是来自两个数组的数据。
我有两个带有哈希的列表(数组):
<pre><code>arr1 = [
{ "device"=>100, "phone"=>"12345" },
...,
{ "device"=>102, "phone"=>"12346" }
]
arr2 = [
{ "device"=>100, "type"=>"mobile", "name"=>"nokia" },
...,
{ "device"=>102, "type"=>"VIOP", "name"=>"smth" }
]
</code></pre>
<p><code></code></p><code>
<p>How can I join hashes from arr1 and arr2 by "device" to get a result array:</p>
<p></p>
</code><pre><code>result = [
{ "device"=>100, "phone"=>"12345", "type"=>"mobile", "name"=>"nokia" },
...,
{ "device"=>102, "phone"=>"12346", "type"=>"VIOP", "name"=>"smth" }
]
</code></pre>
包含带有结果数组的表格的页面加载速度非常慢,我需要找到生成 result_array 的最快方法。
请帮帮我
最佳答案
这会起作用:
(arr1 + arr2).group_by { |i| i["device"] }.map { |d,(i1,i2)| i1.merge(i2)}
#=> [{"device"=>100, "phone"=>"12345", "type"=>"mobile", "name"=>"nokia"}, {"device"=>102, "phone"=>"12346", "type"=>"VIOP", "name"=>"smth"}]
关于ruby - 如何有效地加入从 json 列表收到的 ruby 散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18340655/