Heim  >  Artikel  >  Web-Frontend  >  So entfernen Sie Duplikate aus einem Javascript-Array

So entfernen Sie Duplikate aus einem Javascript-Array

青灯夜游
青灯夜游Original
2021-09-07 17:59:392251Durchsuche

Methode: 1. Verwenden Sie die Anweisung „[...new Set(arr)]“ 2. Verwenden Sie die Anweisung „Array.from(new Set(arr))“; . Verwenden Sie double Die for-Schleife prüft, ob die Werte dupliziert sind. Wenn Duplikate vorhanden sind, löschen Sie sie mit push().

So entfernen Sie Duplikate aus einem Javascript-Array

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Methode 1: […new Set(arr)]

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

Methode 2: Array.from(new Set(arr))

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

Da die Elemente in Set eindeutig sind, ist es wichtig, ob es sich um den ursprünglichen Wert handelt oder Es handelt sich um eine Objektreferenz, daher kann die Deduplizierung durch Konvertieren des Arrays in ein Set-Objekt erreicht werden. Die Array.from-Methode kann das Set-Objekt in ein Array konvertieren.

Methode 3: Filter + indexOf verwenden

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", {…}, {…}]

Methode 4: Doppelte for-Schleife

Am einfachsten zu verstehen ist, dass die äußere Schleife die Elemente durchläuft und die innere Schleife prüft, ob Duplikate vorhanden sind

Wenn es welche gibt doppelte Werte. Sie können push() oder splice()

function distinct(a, b) {
    let arr = a.concat(b);
    for (let i=0, len=arr.length; i<len; i++) {
        for (let j=i+1; j<len; j++) {
            if (arr[i] == arr[j]) {
                arr.splice(j, 1);
                // splice 会改变数组长度,所以要将数组长度 len 和下标 j 减一
                len--;
                j--;
            }
        }
    }
    return arr
}

verwenden. Diese Methode benötigt jedoch viel Speicher und ist die am wenigsten effiziente Methode 5: for...of + Includes()

Eine aktualisierte Version der doppelten for-Schleife. Die äußere Schleife wird durch eine for...of-Anweisung ersetzt und die innere Schleife wird in Includes() geändert.

So entfernen Sie Duplikate aus einem Javascript-ArrayErstellen Sie zunächst ein leeres Array. Wenn Includes() false zurückgibt Das Element wird in ein leeres Array verschoben.

Ebenso können Sie auch indexOf() verwenden, um Includes() zu ersetzen

Das obige ist der detaillierte Inhalt vonSo entfernen Sie Duplikate aus einem Javascript-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn