ruby on rails hash删除key值以及value值,删除多个key

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}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值