Arrays 基于第二个值查找内部数组的第一个值
我有 如果我有内部数组Arrays 基于第二个值查找内部数组的第一个值,arrays,ruby,Arrays,Ruby,我有 如果我有内部数组1、3或5的第二个值,那么提取第一个值的最简单方法是什么?即 @array = [ ["Single - Tuesday - $13/meal", 1], ["Trifecta - Mon, Wed, Fri - $12/meal", 3], ["Quinary - Every weekday - $11/meal", 5] ] 您可以使用以下方法: @array.find{| sub|u array | sub|u array[1]==}。试试(:firs
1
、3
或5
的第二个值,那么提取第一个值的最简单方法是什么?即
@array = [
["Single - Tuesday - $13/meal", 1],
["Trifecta - Mon, Wed, Fri - $12/meal", 3],
["Quinary - Every weekday - $11/meal", 5]
]
您可以使用以下方法:
@array.find{| sub|u array | sub|u array[1]==}。试试(:first)
您可以使用以下方法:
@array.find{| sub|u array | sub|u array[1]==}。试试(:first)
第二个值是唯一的吗?为什么不来一份杂烩呢
@array.find{|sub_array| sub_array[1] == <your value here>}.try(:first)
但如果必须是你所问的,那么这些数字遵循相同的模式和位置吗?i、 e.1、3、5、7、9等?如果是这样的话,@array.flant[value]
将起作用
否则,
@array[@array.flatte.find_index(5)-1]
,但obv仅在值唯一时工作。第二个值是否唯一?为什么不来一份杂烩呢
@array.find{|sub_array| sub_array[1] == <your value here>}.try(:first)
hash =
{1 => "Single - Tuesday - $13/meal",
3 => "Trifecta - Mon, Wed, Fri - $12/meal",
5 => "Quinary - Every weekday - $11/meal"}
hash[1], hash[3] etc
但如果必须是你所问的,那么这些数字遵循相同的模式和位置吗?i、 e.1、3、5、7、9等?如果是这样的话,@array.flant[value]
将起作用
否则,
@array[@array.flatte.find_index(5)-1]
,但obv仅在值唯一的情况下工作。您缺少一个步骤:将给定数组转换为哈希,例如,哈希=@array.to_h.inverse
。您缺少一个步骤:将给定数组转换为哈希,例如。,hash=@array.to_h.invert
。为什么要匆忙选择答案?为什么要匆忙选择答案?
hash =
{1 => "Single - Tuesday - $13/meal",
3 => "Trifecta - Mon, Wed, Fri - $12/meal",
5 => "Quinary - Every weekday - $11/meal"}
hash[1], hash[3] etc