Heim >Web-Frontend >js-Tutorial >Eine äußerst umfassende Zusammenfassung von 12 Methoden zum Entfernen von Duplikaten aus JavaScript-Arrays

Eine äußerst umfassende Zusammenfassung von 12 Methoden zum Entfernen von Duplikaten aus JavaScript-Arrays

不言
不言Original
2018-09-17 13:57:111408Durchsuche

Dieser Artikel bietet Ihnen eine Zusammenfassung von 12 äußerst umfassenden JavaScript-Array-Deduplizierungsmethoden. Ich hoffe, dass er Ihnen als Referenz dienen wird.

Array-Deduplizierung tritt normalerweise bei Interviews auf. Normalerweise ist es erforderlich, den Code der Array-Deduplizierungsmethode handschriftlich zu schreiben. Wenn Sie gefragt werden: Welche Methoden gibt es zum Deduplizieren von Arrays? Wenn Sie zehn davon beantworten können, wird der Interviewer wahrscheinlich von Ihnen beeindruckt sein.
Array-Deduplizierung, die in realen Projekten auftritt, wird normalerweise im Hintergrund verarbeitet, und das Front-End wird selten zur Verarbeitung der Array-Deduplizierung verwendet. Obwohl die Wahrscheinlichkeit, dass es in alltäglichen Projekten verwendet wird, relativ gering ist, müssen Sie es dennoch wissen, falls Sie im Vorstellungsgespräch danach gefragt werden.

Methoden zum Deduplizieren von Arrays

1. Verwenden Sie ES6 Set zum Deduplizieren (am häufigsten in ES6 verwendet)

function unique (arr) {
  return Array.from(new Set(arr))
}
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", {}, {}]

Berücksichtigen Sie nicht die Kompatibilität Die Deduplizierungsmethode hat den geringsten Code. Diese Methode kann das leere Objekt „{}“ nicht entfernen. Spätere Methoden höherer Ordnung können das leere Objekt „{}“ hinzufügen und entfernen.

2. Zum Verschachteln verwenden und dann zum Entfernen von Duplikaten verbinden (am häufigsten in ES5 verwendet)

function unique(arr){            
        for(var i=0; i37823d96938c9b46fd0bfcf6a62df177= 1){
            if(arrry[index] === arrry[index-1]){
                arrry.splice(index,1);
            }
            loop(index - 1);    //递归loop,然后数组去重
        }
    }
    loop(len-1);
    return arrry;
}

10. Verwenden Sie die Kartendatenstruktur zum Deduplizieren

function arrayNonRepeatfy(arr) {
  let map = new Map();
  let array = new Array();  // 数组用于返回结果
  for (let i = 0; i 3a9b71d981f5587cbd396ac63b7e45fa {
    if(s1 !== s2){
      array .push(s1);
    }
    return s2;
  })
  array .push(sortArr[sortArr.length - 1]);
  return array ;
}

12. In einigen Artikeln wurde die Array-Deduplizierungsmethode foreach+indexOf erwähnt. Ich persönlich denke, dass sie alle ähnlich sind, deshalb habe ich sie nicht aufgeschrieben.

Das obige ist der detaillierte Inhalt vonEine äußerst umfassende Zusammenfassung von 12 Methoden zum Entfernen von Duplikaten aus JavaScript-Arrays. 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