配列内の値が指定された文字列と一致する場合、配列から要素を削除しようとしています。文字列がタグと一致するときに配列要素を削除する
私はタグ配列を持つ配列を持っています。タグの名前を比較して、ユーザーが検索から除外したいものと一致するかどうかを確認しています。それができない場合は、メイン配列からその要素を削除するか、可能であれば、一致しない要素を追加したいと思います。
results = Array.new
test = 0
no_tags.each do |no_tag| #an array of tags whose resources are not to be included
resources.each do |r|
add_to_array = false
r.tags.each do |t|
if t.name.eql? no_tag
test += 1
add_to_array = false
else
add_to_array = true
end
end
if add_to_array
results << r
end
end
end
テスト変数がちょうど763個の資源のうち141であることを起こるマッチ回数をデバッグするための変数である:ここで
は、私がこれまで持っているものです。しかし、このブロックを実行した後にresults.countを実行すると、私は622になるはずです。明確にするには、タグ配列に一致がある場合はリソース配列の要素を削除するか、他のオプションは、一致が見つからない場合、リソース配列要素を新しい配列に含めることです。
これはJSONとしてブラウザに返され、タグがno_tags配列の値と一致するリソースを除外する必要があります。
リソースに複数のタグが含まれている場合、そのタグの最後のタグに基づいて**の**が含まれます。それはおそらく違いがどこから来るのでしょうか。 –