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

藏色散人
リリース: 2023-01-04 09:35:05
オリジナル
8244 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!