ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript 配列から重複を削除するにはどのような方法がありますか?
削除方法: 1. "Array.from(new Set(arr))" ステートメントを使用します; 2. "[...new Set(arr)]" ステートメントを使用します; 3. "arr" を使用します.filter( (item,index)=>arr.indexOf(item)===index)" ステートメント。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
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 配列から重複を削除するにはどのような方法がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。