Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 基于第二个值查找内部数组的第一个值_Arrays_Ruby - Fatal编程技术网

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