ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript 配列から重複を削除するにはどのような方法がありますか?

JavaScript 配列から重複を削除するにはどのような方法がありますか?

青灯夜游
青灯夜游オリジナル
2021-06-22 16:42:301774ブラウズ

削除方法: 1. "Array.from(new Set(arr))" ステートメントを使用します; 2. "[...new Set(arr)]" ステートメントを使用します; 3. "arr" を使用します.filter( (item,index)=>arr.indexOf(item)===index)" ステートメント。

JavaScript 配列から重複を削除するにはどのような方法がありますか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript 配列から重複を削除するいくつかの方法

1. Array.from(new Set(arr))

const arr = [1, 2, 3, 2, 3];

Array.from(new Set(arr)); // [1, 2, 3]

Set 内の要素は元の値であってもオブジェクト参照であっても一意であるため、配列を Set オブジェクト

Array に変換することで重複排除を実現できます。 from メソッドは Set オブジェクトを配列に変換できます

2, [...new Set(arr)]

const arr = [1, 2, 3, 2, 3];
[...new Set(arr)]; // [1, 2, 3]

ここにあります渡されたES6 の展開構文は Set オブジェクトを配列に変換します;

3. arr.filter((item,index) => arr.indexOf( item) == =index)

const arr = [1, 2, 3, 2, 3];

arr.filter((item, index) => arr.indexOf(item) === index); // [1, 2, 3]

indexOf メソッドは、配列内の指定された要素の最初のインデックス (インデックス) を返します。そうでない場合は、-1# を返します。

# #したがって、

indexOf() メソッドを通じてここで arr 配列の各要素によって返されるインデックス値は 0 1 2 1 2

arr.forEach(item => console.log(arr.indexOf(item))); // 0 1 2 1 2

です。

indexOf 重複排除を実現するには、たとえば、arr の 4 番目の要素 2 は 1 から indexOf までのインデックスを返しますが、その現在のインデックス添え字は 3 であり、そうではありません。これは、現在の This 2 要素が以前に出現しているため、除外する必要があることを示します。

[関連する推奨事項:

JavaScript 学習チュートリアル]

以上がJavaScript 配列から重複を削除するにはどのような方法がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。