SG *_* 86 0 ruby ruby-on-rails
我有这个数组:
@array = [["1003", "4"], ["963", "3"], ["1006", "1"], ["1064", "1"], ["1095", "1"], ["963", "http://www.google.com/1"], ["1003", "http://www.google.com/2"]]
Run Code Online (Sandbox Code Playgroud)
我需要这个结果:
@array = [["1003", "http://www.google.com/2"], ["963", "http://www.google.com/1"]]
Run Code Online (Sandbox Code Playgroud)
这怎么可能?
Hash[@array].reject{|k,v| v == "1"}.to_a
Run Code Online (Sandbox Code Playgroud)
这是做什么的:
初始化数组:
@array => [["1003", "4"], ["963", "3"], ["1006", "1"], ["1064", "1"], ["1095", "1"], ["963", "http://www.google.com/1"], ["1003", "http://www.google.com/2"]]
Run Code Online (Sandbox Code Playgroud)
转换为哈希:
hash = Hash[@array] => {"1003"=>"http://www.google.com/2", "963"=>"http://www.google.com/1", "1006"=>"1", "1064"=>"1", "1095"=>"1"}
Run Code Online (Sandbox Code Playgroud)
删除值=="1"的位置:
hash = hash.reject!{|k,v| v == "1"} => {"1003"=>"http://www.google.com/2", "963"=>"http://www.google.com/1"}
Run Code Online (Sandbox Code Playgroud)
转换回数组:
hash.to_a => [["1003", "http://www.google.com/2"], ["963", "http://www.google.com/1"]]
Run Code Online (Sandbox Code Playgroud)
reject是delete_if的别名
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |