Heim > Web-Frontend > js-Tutorial > Hauptteil

Zusammenfassung der Methoden zum Deduplizieren von Arrays mithilfe von js

php中世界最好的语言
Freigeben: 2018-06-09 11:47:46
Original
1370 Leute haben es durchsucht

Dieses Mal werde ich Ihnen eine Zusammenfassung der Methoden zum Deduplizieren von Arrays in JS geben. Was sind die Vorsichtsmaßnahmen für das Deduplizieren von Arrays in JS?

Wir haben n Möglichkeiten, eine Array-Deduplizierung zu erreichen.

es5-Implementierungsmethode

for循环+indexOf
function unique(arr) {
  var uniqueArr = [],
   len = arr.length
  for (var i = 0; i < len; i++) {
   if (uniqueArr.indexOf(arr[i]) == -1) {
    uniqueArr.push(arr[i])
   }
  }
  return uniqueArr
 }
 var arr = [1, 2, 3, 1, 5, "1"]
 var uniqueArr = unique(arr)
 console.log(arr)  //[1, 2, 3, 1, 5, "1"]
 console.log(uniqueArr)  //[ 1, 2, 3, 5, '1' ]
Nach dem Login kopieren

Deduplizierung nach dem Sortieren

function unique(arr) {
  var uniqueArr = [],
   sortArr = arr.concat().sort(),
   len = sortArr.length,
   prev
  for (var i = 0; i < len; i++) {
   if (!i || prev !== sortArr[i]) {
    uniqueArr.push(sortArr[i])
   }
   prev = sortArr[i]
  }
  return uniqueArr
 }
 var arr = [1, 2, 3, 1, 5, "1"]
 var uniqueArr = unique(arr)
 console.log(arr)  //[ 1, 2, 3, 1, 5, '1' ]
 console.log(uniqueArr)  //[ 1, '1', 2, 3, 5 ]
利用对象
function unique(arr) {
  var uniqueArr = [],
   obj = {},
   len = arr.length
  for (var i = 0; i < len; i++) {
   obj[typeof arr[i] + arr[i]] = arr[i]
  }
  for (var i in obj) {
   uniqueArr.push(obj[i])
  }
  console.log(obj)  //{ number1: 1, number2: 2, number3: 3, number5: 5, string1: '1' }
  return uniqueArr
 }
 var arr = [1, 2, 3, 1, 5, "1"]
 var uniqueArr = unique(arr)
 console.log(arr)  // [1, 2, 3, 1, 5, "1"]
 console.log(uniqueArr)  //[ 1, 2, 3, 5, '1' ]
Nach dem Login kopieren

es6-Implementierungsmethode

利用Set结构和Array.from
function unique(arr) {
  return Array.from(new Set(arr))
 }
 var arr = [1, 2, 3, 1, 5, "1"]
 var uniqueArr = unique(arr)
 console.log(arr)   //[ 1, 2, 3, 1, 5, '1' ]
 console.log(uniqueArr)  //[ 1, 2, 3, 5, '1' ]
利用Set结构和...
function unique(arr) {
  return [...new Set(arr)]
 }
 var arr = [1, 2, 3, 1, 5, "1"]
 var uniqueArr = unique(arr)
 console.log(arr)  //[ 1, 2, 3, 1, 5, '1' ]
 console.log(uniqueArr)   //[ 1, 2, 3, 5, '1' ]
Nach dem Login kopieren

Gemeinsame Array-Methoden

  • slice() wird verwendet, um einen Teil des Zielarrays zu extrahieren und ein neues Array zurückzugeben, wobei das ursprüngliche Array unverändert bleibt.

  • concat() wird zum Zusammenführen mehrerer Arrays verwendet. Es fügt die Mitglieder des neuen Arrays am Ende der Mitglieder des ursprünglichen Arrays hinzu und gibt dann ein neues Array zurück, wobei das ursprüngliche Array unverändert bleibt.

  • reverse() wird verwendet, um die Array-Elemente umzukehren und das geänderte Array zurückzugeben. Beachten Sie, dass diese Methode das ursprüngliche Array ändert.

  • sort() sortiert die Array-Mitglieder. Standardmäßig werden die Array-Mitglieder in Wörterbuchreihenfolge sortiert. Nach dem Sortieren wird das ursprüngliche Array geändert.

  • push() wird verwendet, um ein oder mehrere Elemente am Ende des Arrays hinzuzufügen und gibt die Länge des Arrays nach dem Hinzufügen der neuen Elemente zurück. Beachten Sie, dass diese Methode das ursprüngliche Array ändert.

  • pop() wird verwendet, um das letzte Element des Arrays zu entfernen und dieses Element zurückzugeben. Beachten Sie, dass diese Methode das ursprüngliche Array ändert.

  • unshift() wird verwendet, um ein Element an der ersten Position des Arrays hinzuzufügen und gibt die Länge des Arrays nach dem Hinzufügen des neuen Elements zurück. Beachten Sie, dass diese Methode das ursprüngliche Array ändert.

  • shift() wird verwendet, um das erste Element des Arrays zu löschen und dieses Element zurückzugeben. Beachten Sie, dass diese Methode das ursprüngliche Array ändert.

  • splice() wird verwendet, um einige Mitglieder des ursprünglichen Arrays zu löschen und neue Array-Mitglieder an der gelöschten Position hinzuzufügen. Der Rückgabewert ist das gelöschte Element. Beachten Sie, dass diese Methode das ursprüngliche Array ändert.

  • map() übergibt nacheinander alle Mitglieder des Arrays an die Parameterfunktion und gibt dann die Ergebnisse jeder Ausführung in ein neues Array zurück.

  • forEach() ist der Map-Methode sehr ähnlich und führt die Parameterfunktion auch nacheinander für alle Mitglieder des Arrays aus. Die forEach-Methode gibt jedoch keinen Wert zurück und wird nur zum Bearbeiten von Daten verwendet.

  • filter() wird zum Filtern von Array-Mitgliedern verwendet. Die Mitglieder, die die Bedingungen erfüllen, bilden ein neues Array und geben es zurück.

  • join() verwendet den angegebenen Parameter als Trennzeichen, um alle Array-Mitglieder zu einer Zeichenfolge zu verketten und diese zurückzugeben. Wenn keine Parameter angegeben werden, werden sie standardmäßig durch Kommas ersetzt.

  • indexOf() gibt die Position des ersten Vorkommens des angegebenen Elements im Array zurück, oder -1, wenn es nicht erscheint.

  • lastIndexOf() gibt die Position des letzten Vorkommens des angegebenen Elements im Array zurück, oder -1, wenn es nicht erscheint.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Vue2.0+boostrap im Fall verwenden

Konflikt zwischen Doppelklick und lösen Klickereignisse

Das obige ist der detaillierte Inhalt vonZusammenfassung der Methoden zum Deduplizieren von Arrays mithilfe von js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!