簡體   English   中英

裁剪哈希結構:Ruby on rails

[英]Crop hash structure: Ruby on rails

我想使用特定范圍的值從哈希表中刪除數據。

例:

hash = { t:1, y:9, k:10, a:30, b:40, c:50, d:80, e:60, z:100, l:3, n:9, f:20 }

給定一組數字: array = [10, 30, 40, 50, 80, 60, 100] (正好是表格中心的范圍)

我希望結果如下:

hash: {k:10, a:30, b:40, c:50, d:80, e:60, z:100}

從未消除位於結構中間的數據的注釋。

看看select方法

[6] pry(main)> hash.select { |k,v| array.include?(v) }
=> {:k=>10, :a=>30, :b=>40, :c=>50, :d=>80, :e=>60, :z=>100}
results = {}
hash.each { |k, v| results[k] = v if array.include?(v) }
puts results

輸出:

{:k=>10, :a=>30, :b=>40, :c=>50, :d=>80, :e=>60, :z=>100}
array.each_with_object({}){|e, h| h[hash.key(e)] = e if hash.value?(e)}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM