私は3つの配列を持っています=
name = ["sample","test","sample"]
date = ["September","October","November"]
score = [10,20,30]
name
の各オブジェクトをループして、 に等しいすべてのオブジェクトのインデックス値を返したいと思いますsample
。次に、そのインデックスを取得し、対応するオブジェクトを and で返すという考え方date
ですscore
。これは私が現在やっている方法です:
new_name_array = []
new_date_array = []
new_score_array = []
count = 0
name.each do |x|
if x == 'sample'
new_name_array << x
new_date_array << date.index[count]
new_score_aray << score.index[count]
count += 1
else
count += 1
next
end
end
次に、必要な値のみを含む 3 つの新しい配列を作成し、スクリプトの残りの部分をこれらの配列に基づいて作成します。
これを行うためのより良い方法があることは知っています - これが最も効率的な方法ではありません。上記をよりきれいな方法で書くための提案を誰かが提供できますか?
サイドノート:
x
を使用する代わりに、ループ内で整数値を取得する方法はありcount += 1
ますか?