我有以下数组:
array = [{"email"=>"test@test.com", "name"=>"Test"},
{"email"=>"testA@test.com", "name"=>"Test A"},
{"name"=>"Test B", "email"=>"testB@test.com"},
{"email"=>"testC@test.com", "name"=>"Test C"},
{"name"=>"Test D", "email"=>"testD@test.com"},
{"email"=>"testE@test.com"},
{"name"=>"Test F", "email"=>"testF@test.com"}]
我有一个“黑名单”电子邮件列表,例如:
blacklist = ["testC@test.com"]
我想要做这样的事情:
array - blacklist
# => should remove element {"email"=>"testC@test.com", "name"=>"Test C"}
肯定有一种优雅的 Ruby 方式可以使用 .select 或其他东西来实现这个,但我还没能搞清楚。我试过以下代码但无效:
array.select {|k,v| v != "testC@test.com"} # => returns array without any changes
exclude?
是Rails扩展,这会导致双重否定的领域:) 我可能会选择reject
/include?
。 - mu is too short