Heim Web-Frontend js-Tutorial Zusammenfassung der Javascript-Kenntnisse zur Deduplizierung von JS-Arrays

Zusammenfassung der Javascript-Kenntnisse zur Deduplizierung von JS-Arrays

May 16, 2016 pm 03:48 PM
数组去重

Drei Methoden

Verwenden Sie indexOf, um das neue Array zu bestimmen

Ein ähnlicher indexOf
wird tatsächlich in underscore.js verwendet

 //传入数组
 function unique1(arr){
  var tmpArr = [];
  for(var i=0; i<arr.length; i++){
   //如果当前数组的第i已经保存进了临时数组,那么跳过,
   //否则把当前项push到临时数组里面
   if(tmpArr.indexOf(arr[i]) == -1){
    tmpArr.push(arr[i]);
   }
  }
  return tmpArr;
 }
Nach dem Login kopieren

Verwenden Sie indexOf, um das alte Array zu bestimmen

 function unique2(arr){
  var tmpArr = []; //结果数组
  for(var i=0; i<arr.length; i++){
   //如果当前数组的第i项在当前数组中第一次出现的位置不是i,
   //那么表示第i项是重复的,忽略掉。否则存入结果数组
   if(arr.indexOf(arr[i]) == i){
    tmpArr.push(arr[i]);
   }
  }
  return tmpArr;
 }

Nach dem Login kopieren

Verwenden Sie Hash zum Suchen

Die hier verwendete Implementierung der JS-Objekte entspricht den Merkmalen der Hash-Tabelle

 function unique3(arr){
  var tmpArr = [], hash = {};//hash为hash表
  for(var i=0;i<arr.length;i++){
   if(!hash[arr[i]]){//如果hash表中没有当前项
    hash[arr[i]] = true;//存入hash表
    tmpArr.push(arr[i]);//存入临时数组
   }
  }
  return tmpArr;
 }
Nach dem Login kopieren

Array-Erweiterung

 Array.prototype.unique1 = function (){
  var tmpArr = []; 
  for (var i = 0; i < this.length; i++){
   if (tmpArr.indexOf(this[i]) == -1){
    tmpArr.push(this[i]);
   }
  }
  return tmpArr;
 }

 Array.prototype.unique2 = function(){
   var tmpArr = []; //结果数组
   for(var i = 0; i < this.length; i++){
    if (this.indexOf(this[i]) == i){
     tmpArr.push(this[i]);
    }
   }
   return tmpArr;
 }

 Array.prototype.unique3 = function(){
   var tmpArr=[], hash = {};
   for(var i = 0; i < this.length; i++){
    if (!hash[this[i]]){
      hash[this[i]] = true; 
      tmpArr.push(this[i]); 
    }
   }
   return tmpArr;
 }

Nach dem Login kopieren

Set verwenden

Set und Map sind neue Datenstrukturen in ES6
Set kann einen nicht doppelten Schlüsselsatz direkt speichern. Dieser Schlüssel kann auch ein Objekt, eine Zeichenfolge usw. sein.
Set erstellen

var s = new Set([1, 2, 3,]);
s; // Set {1, 2, 3}

Nach dem Login kopieren

Neues Element

>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}//重复元素不会被添加

Nach dem Login kopieren

Element löschen

s; // Set {1, 2, 3, 4}
s.delete(3);
s; // Set {1, 2, 4}

Nach dem Login kopieren

Elemente traversieren

Map und Set können keine Indizes verwenden
Der ES6-Standard führt einen neuen iterierbaren Typ ein. Array, Map und Set gehören alle zu iterierbaren Typen

var s = new Set(['A', 'B', 'C']);

for (var x of s) { // 遍历Set
  alert(x);
}

Nach dem Login kopieren

Oder verwenden Sie direkt die integrierte forEach-Methode von iterable
Die forEach-Methode wird durch den ES5.1-Standard

eingeführt
var s = new Set(['A', 'B', 'C']);
s.forEach(function (element, set) {
  alert(element);
});
Nach dem Login kopieren

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Geben Sie die Grundlage für das Entfernen doppelter Elemente beim Deduplizieren von PHP-Arrays an Geben Sie die Grundlage für das Entfernen doppelter Elemente beim Deduplizieren von PHP-Arrays an Apr 28, 2024 pm 10:48 PM

Die Funktion array_unique() von PHP wird verwendet, um doppelte Elemente aus einem Array zu entfernen. Standardmäßig wird strikte Gleichheit (===) verwendet. Wir können die Basis für die Deduplizierung über eine benutzerdefinierte Vergleichsfunktion festlegen: Erstellen Sie eine benutzerdefinierte Vergleichsfunktion und geben Sie den Deduplizierungsstandard an (z. B. basierend auf der Elementlänge). Übergeben Sie die benutzerdefinierte Vergleichsfunktion als dritten Parameter an die Funktion „Array_unique()“. Duplikate von Elementen basierend auf angegebenen Kriterien.

So implementieren Sie die Array-Deduplizierung in es5 und es6 So implementieren Sie die Array-Deduplizierung in es5 und es6 Jan 16, 2023 pm 05:09 PM

In es5 können Sie die for-Anweisung und die Funktion indexOf() verwenden, um eine Array-Deduplizierung zu erreichen. Die Syntax „for(i=0;i<array length;i++){a=newArr.indexOf(arr[i]);if( a== -1){...}}". In es6 können Sie den Spread-Operator Array.from() und Set verwenden, um Duplikate zu entfernen. Sie müssen zuerst das Array in ein Set-Objekt konvertieren, um Duplikate zu entfernen, und dann den Spread-Operator oder die Funktion Array.from() verwenden Konvertieren Sie das Set-Objekt zurück in ein Array.

Wie kann die Schlüsselwertkorrespondenz nach der Deduplizierung im PHP-Array aufrechterhalten werden? Wie kann die Schlüsselwertkorrespondenz nach der Deduplizierung im PHP-Array aufrechterhalten werden? Apr 27, 2024 pm 12:33 PM

Zu den Methoden zum Aufrechterhalten der Schlüssel-Wert-Korrespondenz nach der PHP-Array-Deduplizierung gehören: Verwenden Sie die Funktion array_unique(), um doppelte Werte zu entfernen, und verwenden Sie dann die Funktion array_flip(), um Schlüssel-Wert-Paare auszutauschen. Führen Sie das ursprüngliche Array mit dem deduplizierten Array zusammen und verwenden Sie die Array-Zusammenführungsmethode, um die Schlüssel-Wert-Korrespondenz beizubehalten.

Tipps zum Umgang mit leeren Werten und Nullwerten beim Deduplizieren von PHP-Arrays Tipps zum Umgang mit leeren Werten und Nullwerten beim Deduplizieren von PHP-Arrays Apr 26, 2024 pm 05:03 PM

Tipps zum Umgang mit Leer- und Nullwerten beim Deduplizieren von PHP-Arrays: Verwenden Sie array_unique mit array_filter, um Leer- und Nullwerte herauszufiltern. Verwenden Sie array_unique und definieren Sie eine benutzerdefinierte Vergleichsfunktion, um leere und Nullwerte als gleich zu behandeln. Verwenden Sie array_reduce, um ein Array zu durchlaufen und Elemente hinzuzufügen, wenn diese keine leeren oder Nullwerte enthalten.

Wie entferne ich Duplikate aus einem Array basierend auf bestimmten Schlüssel-Wert-Paaren in PHP? Wie entferne ich Duplikate aus einem Array basierend auf bestimmten Schlüssel-Wert-Paaren in PHP? Apr 28, 2024 pm 06:18 PM

Verwenden Sie in PHP die Funktion array_unique(), um Duplikate aus einem Array basierend auf bestimmten Schlüssel-Wert-Paaren zu entfernen. Übergeben Sie beim Aufruf der Funktion das Array als Parameter und wählen Sie als zweiten Parameter die Sortiermethode aus. Diese Funktion gibt ein neues Array zurück, in dem Duplikate basierend auf den angegebenen Schlüssel-Wert-Paaren entfernt wurden.

So schließen Sie doppelte Arrays in PHP aus So schließen Sie doppelte Arrays in PHP aus Jun 05, 2023 pm 02:53 PM

Methoden zum Ausschließen doppelter Arrays in PHP: 1. Erstellen Sie eine PHP-Beispieldatei. 2. Definieren Sie das zu deduplizierende Array als „$newArr“. 3. Verwenden Sie „array_unique()“. Die Funktion entfernt doppelte Elemente aus dem Array und gibt das deduplizierte Array zurück. Der Code lautet „$newArr = array_unique($oldArr);“, um doppelte Elemente zu entfernen.

So entfernen Sie Duplikate aus einem Javascript-Array So entfernen Sie Duplikate aus einem Javascript-Array Sep 07, 2021 pm 05:59 PM

Methode: 1. Verwenden Sie die Anweisung „[...new Set(arr)]“; 2. Verwenden Sie die Anweisung „Array.from(new Set(arr))“. double for-Schleifen, prüfen Sie, ob die Werte dupliziert sind, und verwenden Sie push(), um sie zu löschen, wenn Duplikate vorhanden sind.

So entfernen Sie doppelte Elemente aus einem Array in PHP So entfernen Sie doppelte Elemente aus einem Array in PHP May 25, 2023 pm 05:19 PM

So entfernen Sie doppelte Elemente in einem Array in PHP: 1. Verwenden Sie die Funktion „array_unique()“, um doppelte Daten im Array zu entfernen. 2. Durchlaufen Sie eine foreach-Schleife und definieren Sie ein neues Array zum Speichern nicht doppelter Daten, um eine Deduplizierung zu erreichen 3. Verwenden Sie die Funktionen array_flip() und array_keys(), um das deduplizierte Array abzurufen. 4. Verwenden Sie die Funktion array_filter(), um das ursprüngliche Array zu deduplizieren, indem Sie diese Funktion in Kombination mit einer anonymen Funktion verwenden.

See all articles