ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript配列から重複を削除する方法

JavaScript配列から重複を削除する方法

藏色散人
藏色散人オリジナル
2021-04-08 11:22:428390ブラウズ

JavaScript 配列から重複値を削除する方法: 1. 「indexOf()」メソッドを使用して重複値を削除します; 2. splice メソッドを使用して重複値を削除します; 3. 新しいセット Set を使用しますes6 で重複した値を削除します。

JavaScript配列から重複を削除する方法

この記事の動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

js 配列内の重複値を削除するいくつかの方法

日々の開発では、配列内の重複値を削除する場面に遭遇することがあります。 、私が学んだいくつかの方法を共有します

配列から重複する値を削除する方法:

1、indexOf() メソッドを使用して

アイデア:新しい配列を作成し、複製する配列をループし、新しい配列を使用して複製する配列の値を見つけます。値が見つからない場合は、.push を使用して新しい配列に追加します。最後に新しい配列を返します。

理解できなくても問題ありません。コードを読んだ後のほうが理解しやすいです。

#
function fun(arr){
 let newsArr = [];
 for (let i = 0; i < arr.length; i++) {
  if(newsArr.indexOf(arr[i]) === -1){
   newsArr.push(arr[i]);
  }
 }
 return newsArr;
}

2、splice メソッドを使用します。

アイデアを削除する: このメソッドはバブリングをいくらか模倣しています。ループの 2 つの層、外側のループは配列を横断し、内側のループは値を比較します。それらが同じ場合は、splice を使用してそれらを削除し、処理された結果を返します。 array.

わからなくても大丈夫ですコードのほうが理解しやすいです

function fun(arr){
 for (let i = 0; i < arr.length; i++) {
  for(let j = i+1; j < arr.length; j++){
   if(arr[i]==arr[j]){
    arr.splice(j,1);          j--;
   }
  }
 }
 return arr;
}

3.es6の新しいセットを使いますセットの削除

こちらSet コレクションの簡単な紹介です。配列にはよく知られていますが、これは配列ではなくコレクションです。その中には、追加 (add)、削除 (delete)、チェック (has) などの多くのメソッドもあります。

その最も重要な機能は次のとおりです。要素は繰り返すことができません。つまり、同じ要素は Set コレクションに表示されません。

Set 重複排除ソリューション 1:

アイデア: なぜならSet コレクションでは重複値は許可されないため、この機能を使用して配列を渡して重複を削除できます。

最初に新しい Set を作成し、重複排除された配列をパラメーターとして渡してから、新しい配列とループ コレクションを走査し、各コレクション要素を新しい配列に追加し、最後に新しい配列を返します。

function fun(arr){
 let s1 = new Set(arr);
 let arr2 = [];
 for(let item of s1){
  arr2.push(item);
 }
 return arr2;
}

重複排除ソリューション 2 を設定します (配列メソッド Array.form() を使用します):

アイデア: Array.from(); は、疑似配列とコレクションを配列型に変換できます。Set コレクションと組み合わせたこのメソッドは、まさにニーズを満たします。

[推奨される学習: JavaScript 上級チュートリアル ]

function fun(arr){
 let s1 = new Set(arr); 
 return Array.from(s1);
}

重複排除ソリューション 3 の設定 (es6 拡張演算子を使用...):

アイデア: es6 拡張演算子は配列をカンマ区切りのパラメーター シーケンスに変換できます

function fun(arr){
 let s1 = new Set(arr); 
 return [...s1];
}

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

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