この投稿では、JavaScriptでアレイに重複する要素が含まれているかどうかを確認する方法について説明します。

1.ES6セットの使用

The Set ES6で導入されたオブジェクトは、アレイから重複する値を削除できます。アイデアは、アレイをセットに変換することです。次に、セットのサイズがアレイのサイズよりも小さいことがわかった場合、アレイは一意ではないと結論付けることができます。

ダウンロード  コードを実行する

2.アンダースコア/Lodashライブラリの使用

Setを中間データ構造として使用したくない場合は、次を使用できます uniq() underscore.jsまたはlodash.jsライブラリのメソッド。次のコードは、 _.uniq(array) メソッドは、重複のないバージョンのアレイを作成します。

コードをダウンロード

3.使用する Array.prototype.some() 関数

別の解決策は、各アレイ要素の最初の出現のインデックスと最後の出現のインデックスを見つけることです。アレイ内のいずれかの項目、両方のインデックスが一致しない場合、アレイに重複が含まれていると言えます。

次のコード例は、JavaScriptを使用してこれを実装する方法を示しています some() メソッド、と一緒に indexOf()lastIndexOf() 方法。

ダウンロード  コードを実行する

 
このソリューションは推奨されていないことに注意してください O(N2) 複雑。

これで、JavaScriptでアレイに重複が含まれているかどうかを判断できます。