ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で配列の重複を排除する 5 つの方法とは何ですか?

JavaScript で配列の重複を排除する 5 つの方法とは何ですか?

青灯夜游
青灯夜游オリジナル
2021-06-29 15:05:2811760ブラウズ

配列から重複を削除する 5 つの方法: 1. "[...new Set(arr)]" ステートメントを使用して重複を削除します。 2. "Array.from(new Set(arr))" を使用します。 " ステートメントで重複を削除します。重複; 3. 重複を削除するには、indexOf() を使用します。 4. 重複を削除するには、includes() を使用します。 5. 重複を削除するには、filter() を使用します。

JavaScript で配列の重複を排除する 5 つの方法とは何ですか?

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

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

1.[...新しいセット(arr)]

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

ES6 の拡張構文によって配列に変換された Set オブジェクトです;

2, Array.from(new Set(arr))

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

Set 内の要素は元の値であろうとオブジェクト参照であろうと一意であるため、配列を Set オブジェクトに変換することで重複排除を実現できます。

Array.from メソッドは変換できます。オブジェクトを配列に設定します

3.indexOfを使用して重複を削除します

function unique(arr) {
    if (!Array.isArray(arr)) {
        console.log('type error!')
        return
    }
    var array = [];
    for (var i = 0; i < arr.length; i++) {
        if (array .indexOf(arr[i]) === -1) {
            array .push(arr[i])
        }
    }
    return array;
}
var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
console.log(unique(arr))
   // [1, "true", true, 15, false, undefined, null, NaN, NaN, "NaN", 0, "a", {…}, {…}]  //NaN、{}没有去重
新しい空の結果配列を作成し、元の配列をループし、現在の要素がが結果の配列に存在し、同じ値がある場合はスキップし、同じでない場合は配列にプッシュします。

4. インクルードを使用します

function unique(arr) {
    if (!Array.isArray(arr)) {
        console.log('type error!')
        return
    }
    var array =[];
    for(var i = 0; i < arr.length; i++) {
            if( !array.includes( arr[i]) ) {//includes 检测数组是否有某个值
                    array.push(arr[i]);
              }
    }
    return array
}
var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
    console.log(unique(arr))
    //[1, "true", true, 15, false, undefined, null, NaN, "NaN", 0, "a", {…}, {…}]     //{}没有去重

5. フィルターを使用します

function unique(arr) {
  return arr.filter(function(item, index, arr) {
    //当前元素,在原始数组中的第一个索引==当前索引值,否则返回当前元素
    return arr.indexOf(item, 0) === index;
  });
}
    var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
        console.log(unique(arr))
//[1, "true", true, 15, false, undefined, null, "NaN", 0, "a", {…}, {…}]
[関連する推奨事項:

JavaScript 学習チュートリアル]

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

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