ruby の Hash#reject/delete_if メソッドに最も近いものは?
{a:1, b:2, c:3, d:4}.reject { |k,v| v > 2 }
=> {:a=>1, :b=>2}
このクイックバージョンは使用しますkey, value of <Object>
が、エレガントではなく、任意の条件を (ブロックまたはその他として) 渡す機能がありません。
params = {a:1, b:2, c:3}
filter = (hash)->
result = {}
(result[key] = value unless value > 2) for key, value of params
result
console.log(filter(params))
underscore にも同様の_.omit
方法がありますが、キーに対してのみ機能します。