1.单个删除
delete方法
例如:
[1] pry(main)> hash = {a: 1, b: 2, c: 3}
=> {:a=>1, :b=>2, :c=>3}
[2] pry(main)> hash.delete(:a)
=> 1
[3] pry(main)> hash
=> {:b=>2, :c=>3}
[4] pry(main)>
2.删除多个key 这里我用了delete_if 方法;
delete_if方法
例如:
[13] pry(main)> hash = {a: 1, b: 2, c: 3}
=> {:a=>1, :b=>2, :c=>3}
[14] pry(main)> hash.delete_if {|k| k == :a || k == :b}
=> {:c=>3}
[15] pry(main)> hash
=> {:c=>3}
ruby on rails 自带了很多方法:
1.匹配hash白名单,例如
输入:hash = {a: 1, b: 2, c: 3}
输入:hash.slice(:a, :b)
输出: {a: 1, b: 2}
输入:hash
输出:{a: 1, b: 2, c: 3}
2.匹配黑名单,例如
输入:hash = {a: 1, b: 2, c: 3}
输入:hash.except(:a, :b)
输出: {c: 3}
输入:hash
输出:{a: 1, b: 2, c: 3}
3.提取方法,例如
输入:hash = {a: 1, b: 2, c: 3}
输入:hash.extract!(:a, :b)
输出: {a: 1, b: 2}
输入:hash
输出:{c: 3}