重複要素を削除した後、2 つの配列のマージされた配列を検索します (両側の重複要素を削除することを指します。たとえば、3 が繰り返された場合、結果に 3 が含まれることはありません。これは配列の重複排除とは異なります)。配列の和集合です。交差部分を減算する部分ですが、この部分に数学的な名前があるかどうかはわかりません。時間の複雑さが低いアルゴリズムをお探しですか?
为情所困2017-06-26 10:53:43
2 つのセットの重複しない部分を見つけるには、まず 2 つのセットの和集合を見つけてから、共通の要素を削除します。
A∪B - A∩B = { x | (x∈A & x∉B) || (x∉A & x∈B) }
プログラムのアイデアを使用した実装は次のとおりです。
2 つの配列をマージし、フィルター メソッドを使用して配列 a と b の交差要素をフィルターで除外します。 a が b に含まれておらず、b が a に含まれていない a.concat(b) 内の要素をフィルターで除外します。主に配列に要素が含まれているかどうかの判定を行うもので、実装方法としては Array.prototype.indexOf、Set の has メソッド、Array.prototype.includes の 3 つがあります。
NaNを考慮せずにES5のindexOfメソッドを利用した実装方法:
リーリーES6 の新しい Set コレクション メソッドを使用し、filter メソッドと組み合わせて、結合された配列をフィルター処理します。
リーリーES7 の新しい Array.prototype.includes 配列メソッドを使用して、配列に指定された要素が含まれているかどうかを返し、それを filter メソッドと組み合わせて、マージされた配列をフィルター処理します。
リーリー仅有的幸福2017-06-26 10:53:43
リーリー
----------私は間違った質問を読みました、答えは間違っています、上記は重複を削除しただけです、以下を参照してください---------------
----------基本的な for ループをたどるだけで完了できます------
リーリー