我有一个数组
result = [{:cluster=>[0, 4], :id=>1, :units=>346, :num1=>0.161930681e7, :num2=>0.14223512616e9, "description"=>"Foo"}, { ...
我想取出任何单位数等于0的对象。寻找与array.splice()
类似的东西,但要寻找 Ruby
最好的方法是什么?
答案 0 :(得分:2)
您可以使用#reject
方法返回不包含eval_config
等于:units
的对象的数组:
0
还有result.reject { |hash| hash[:units] == 0 }
和#delete_if
,它们可以与上述相同的方式使用,但都可以就地修改数组。。
希望这会有所帮助!
答案 1 :(得分:0)
您可以使用在Array
类上实现的select方法来获得相同的结果:
result.select { |el| el[:units] == 0 }