1, "red" => 2, "blue" => 3}, {"green" => 4, "red" => 5, "blue" => 6}] 我想选择其中红-6ren">
gpt4 book ai didi

Ruby 选择多个条件

转载 作者:数据小太阳 更新时间:2023-10-29 08:18:32 24 4
gpt4 key购买 nike

我有一个哈希数组:

[{"green" => 1, "red" => 2, "blue" => 3}, {"green" => 4, "red" => 5, "blue" => 6}]

我想选择其中红色、蓝色或绿色等于某个数字的散列。我该怎么做呢?

最佳答案

如果我理解正确的话。

arr = [{"green" => 1, "red" => 2, "blue" => 3}, {"green" => 4, "red" => 5, "blue" => 6}]
some_number = 1
arr.select { |el| el.any? {|k,v| v == some_number} }

改进版:

arr.select { |el| a.has_value?(some_number) }

版本如果可以有更多不需要测试的键(例如黄色):

arr = [{"green" => 1, "red" => 2, "blue" => 3, "yellow" => 5}, {"green" => 4, "red" => 5, "blue" => 6, "yellow" => 3}]
some_number = 1
fields_to_check = ["red", "green", "blue" ]
arr.select { |el| fields_to_check.any? {|color| el[color] == some_number } }

关于Ruby 选择多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19405678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com