的陣列我有一個陣列像哈希:紅寶石,我如何比較兩對項目的散列
arry = {hash1, hash2, hash3,hash4 ....hash_N}
每個哈希,
hash1 ={ "deviceId"=>"868403021230682", "osVersion"=>"6.0", "deviceOS"=>"Android",
"appVersion"=>"1.7.2", "action"=>"Enter"}
hash2 = { "deviceId"=>"868403021230682", "osVersion"=>"6.0", "deviceOS"=>"Android",
"appVersion"=>"1.7.2", "action"=>"Leave"}
,因爲它有可能爲每個hash "action"=>"Enter" or "Leave"
不會總是顯示爲一對,例如,動作對於hash3,hash4,hash5可能都是「Enter」。我的想法是隻考慮兩個哈希誰可以做一個像hash1和hash2,從數組中刪除其他數組或將其放入其他數組。 所以新陣列應該只包含[hash1, hash2, hash7,hash8]
,可以說hash7和8也是一對。
我應該使用each_with_index嗎?我的代碼是這樣的:
def get_result(doc)
result = []
doc.each_slice(2).map { |pair|
pair.each_with_index { |element, index|
if (pair[index].has_value?([:action] => "enter") &&pair[index+1].has_value?([:action] => "Leave")
result.push(pair)
end
}
}
end
但if
語句不工作的權利,那種困惑如何使用each_with_index
希望有人能幫助我
我怎麼能拋棄哈希值保存到另一個陣列?爲什麼需要平坦?我只想消除未配對的哈希。如果可能的話,你會介意一下嗎?謝謝 – roccia
@roccia我更新了我的答案,希望對你有幫助 –
謝謝!這很清楚! – roccia