Heim > Artikel > Web-Frontend > Welche drei Methoden gibt es, um Duplikate aus Knotenarrays zu entfernen?
Methode: 1. Verwenden Sie die Kartendatenstruktur, um eine Deduplizierung zu erreichen, und speichern Sie jedes Element des Arrays als Schlüssel in der Karte. 2. Verwenden Sie die Set-Methode in es6, um eine Deduplizierung zu erreichen. Die Syntax lautet „Set (Array)“. 3. Verwenden Sie die forEach-Anweisung mit indexOf, um Duplikate zu entfernen.
Die Betriebsumgebung dieses Artikels: Windows 10-System, NodeJS-Version 12.19.0, Dell G3-Computer.
Erstellen Sie eine leere Kartendatenstruktur, durchlaufen Sie das Array, das dedupliziert werden muss, und speichern Sie jedes Element des Arrays als Schlüssel zur Kartenmitte. Da derselbe Schlüsselwert nicht in der Karte angezeigt wird, ist das Endergebnis das Deduplizierungsergebnis
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]
Die zweite Methode besteht darin, in ES6 die einfachste Deduplizierungsmethode zu verwenden
let arr2 = [1, 2, 3, 4, 5, 5, 4, 3]; let res = [...new Set(arr2)]; console.log(res);
Die dritte Methode ist forEach+indexOf-Implementierung Empfohlenes Lernen von
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 Video-TutorialDas obige ist der detaillierte Inhalt vonWelche drei Methoden gibt es, um Duplikate aus Knotenarrays zu entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!