如何将数组哈希与单个哈希进行比较,并返回包含比较结果的新哈希数组.
例如:
stored_hash = [
{:a => 1, :b => 2, :c => 3},
{:a => 1, :b => 3, :c => 4}
]
compare_hash = {:a => 1}
stored_hash.some_function_here(compare_hash)
Run Code Online (Sandbox Code Playgroud)
应该返回:
[
{:a => 1, :b => 2, :c => 3},
{:a => 1, :b => 3, :c => 4}
]
Run Code Online (Sandbox Code Playgroud)
这个:
stored_hash = [
{:a => 1, :b => 2, :c => 3},
{:a => 1, :b => 3, :c => 4}
]
compare_hash = {:a => 1, :b => 3}
stored_hash.some_function_here(compare_hash)
Run Code Online (Sandbox Code Playgroud)
应该返回:
[
{:a => 1, :b => 3, :c => 4}
]
Run Code Online (Sandbox Code Playgroud)
这是一种方式,使用Array#keep_if和Hash#merge
stored_hash.keep_if {|hash| hash.merge(compare_hash) == hash}
Run Code Online (Sandbox Code Playgroud)