与 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
方法,但只适用于键。