私はこの問題に遭遇し、それを行うためのより良い方法があるかどうか疑問に思っています。
与えられた配列:
options = [
SelectItem.new(-1, "String 1"),
SelectItem.new(0, "String 2"),
SelectItem.new(7, "String 3"),
SelectItem.new(14, "String 4")
]
特定の基準に一致する最初の要素のインデックスを取得するための最良の方法は何ですか?
私の解決策は次のとおりです。
my_index = 0
options.each_with_index do |o, index|
if o.value == some_value
my_index = index
break
end
end
これを行う別の方法はありますか? Enumerable#find
条件を満たす最初のオブジェクトを返しますが、条件を満たす最初のオブジェクトのインデックスを返すものが必要です。