を離れて比較するとき、私は2つのデータ部分文字列が要素
example1 = ["og", "phan"]
example2 = ["dog", "cat", "elephant", "chicken", "snake"]
彼らはのサブされている場合、私は返さする必要がどのような、正確に、example1
のみからの要素を含む新しい配列ですが設定されます持っている文字列に含まれているかどうかを確認しますexample2
およびのいずれかの要素も、と同じ順序でを含める必要があります。
私は、次のコードの作業を得ることができますが、新しい配列が代わりに["og", "phan"]
の異なる順序(例えば["phan", "og"]
の要素を返します
r = []
array1.map { |x| r.push(x) if array2.join(" ").include?(x) }
r.flatten
エクストラ:私はあなた場合include?
が動作しないことが判明配列に対する配列を比較する際に、他の言葉で、それはそれはまったく同じである場合を除き、単一の配列要素内の文字列内の部分が見つかりませんそれを使用しています。
私はあなたのコードを試してみましたが、順序は正しいです。チェックアウトして実行してください:https://repl.it/EA98/0 – roychri
確かに、最後にsortメソッドが欠けていたので、正しい順序で配列が返されませんでした。 – Leo