方法: 1. マップ データ構造を使用して重複排除を実現し、配列の各要素をマップ内のキーとして保存します; 2. es6 の set メソッドを使用して重複排除を実現します。構文は「Set」です。 (array) "; 3. 重複排除を実現するには、indexOf を指定した forEach ステートメントを使用します。
この記事の動作環境: Windows 10 システム、nodejs バージョン 12.19.0、Dell G3 コンピューター。
最初の方法は、Map データ構造を使用して重複を排除することです
空の Map データ構造を作成し、配列を走査します重複を排除する必要がある場合は、配列の各要素をキーとしてマップに保存します。同じキー値はマップに表示されないため、最終結果は重複排除の結果です
function a(arr) { let map = new Map(); let array = new Array(); // 数组用于返回结果 for (let i = 0; i < arr.length; i++) { if (map.has(arr[i])) { // 如果有该key值 map.set(arr[i], true); } else { map.set(arr[i], false); // 如果没有该key值 array.push(arr[i]); } } return array; } var arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]; console.log(a(arr)) //[1,2,3,4,5]
2 番目の方法は、ES6 のセットを使用することであり、これが最も単純な重複排除方法です
let arr2 = [1, 2, 3, 4, 5, 5, 4, 3]; let res = [...new Set(arr2)]; console.log(res);
3 番目のタイプの各 IndexOf は重複排除を実装します
var arr3 = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]; var b = distinct(arr3); function distinct(arr) { result = [], len = arr3.length; //len=10; arr3.forEach(function (v, i, arr3) { var bool = arr3.indexOf(v, i + 1); //从传入参数的下一个索引值开始寻找是否存在重复 if (bool === -1) { result.push(v); } }) return result; }; console.log(b.toString()); //1,2,3,4,5
推奨学習: 「nodejs ビデオ チュートリアル 」
以上がノード配列から重複を削除する 3 つの方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。