Heim > Artikel > Web-Frontend > So entfernen Sie Duplikate aus einem Javascript-Array
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().
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 verwendenfunction 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", {…}, {…}]
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.
Erstellen 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!