Detaillierte Erläuterung mehrerer Methoden zur Reduzierung der JS-Array-Dimensionalität

Detaillierte Erläuterung mehrerer Methoden zur Reduzierung der JS-Array-Dimensionalität

Dimensionsreduzierung eines zweidimensionalen Arrays

Dimensionsreduzierung mithilfe der Array-Instanzmethode concat und des ES6-Spread-Operators

sei arr=[1,2,[3,4],5];
Lassen Sie arr1 = [].concat (...arr);
//Verwenden Sie zuerst den Spread-Operator, um das äußerste Array aufzubrechen. concat hat eine eigene Funktion zum Aufbrechen der zusammengeklebten Arrays. console.log(arr1);
// [1, 2, 3, 4, 5]

//Kompatibilität mit ES6 vor der Verwendung von apply zum Aufteilen der Daten var arr2=[1,2,[3,4],5];
var arr3=[].concat.apply([],arr2);
Konsole.log(arr3);
// [1, 2, 3, 4, 5]

Dimensionsreduktion mehrdimensionaler Arrays

Rekursive Dimensionsreduzierung

//Mehrere Möglichkeiten zur Verwendung der rekursiven Dimensionsreduzierung von Array-Funktionen //some&concat
//Verwende some, um zu prüfen, ob das Array ein Array enthält und rufe dich dann selbst auf, um die Dimensionsfunktion zu reduzieren fun(arr){
  arr = [].concat (...arr); 
  // Prüfen, ob das reduzierte Array noch Unterarrays enthält let hasArray = arr.some(function(elem){
      gibt Array.isArray(elem) zurück;
  })
  if(hasArray){ //Wenn es ein Subarray enthält arr=fun(arr); //Dann kann es die Dimension nur noch einmal reduzieren, bis geprüft wird, dass es kein Subarray mehr enthält}
    Rückflug an;
};

//fürjede&Instanzvon
//Beurteile jedes Element des Arrays, um zu sehen, ob das Array sich weiterhin selbst aufruft, anstatt es in das zuvor vorbereitete leere Array zu setzen function fun2(arr){
  lass ret = [];
  let zuArr = Funktion(arr){
    arr.forEach(Funktion(Element){
      Elementinstanz des Arrays? toArr(Element) : ret.push(Element);
    });
  }
  zuArr(arr);
  Rückkehr ret;
}

//reduzieren und verketten
//Bereiten Sie abschließend ein leeres Array vor und prüfen Sie, ob jedes Element im übergebenen Array ein Array ist. Wenn dies der Fall ist, rufen Sie sich selbst erneut auf. Wenn nicht, verwenden Sie concat, um es in einem leeren Array zusammenzufassen. Funktion fun3(sarr){
    returniere sarr.reduce((vorher,wert)=>{
        gibt Array.isArray(val) zurück? pre.concat(fun3(val)): pre.concat(val)
    },[])
}

Array.prototype.flat()

ES10 fügt Array.prototype.flat() hinzu, das verwendet wird, um verschachtelte Arrays in eindimensionale Arrays aufzuteilen. Diese Methode gibt ein neues Array zurück und hat keine Auswirkungen auf die Originaldaten.

var arr1 = [1, 2, [3, 4]];
arr1.flat(); 
// [1, 2, 3, 4]
 
var arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat();
// [1, 2, 3, 4, [5, 6]]
 
var arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2);
// [1, 2, 3, 4, 5, 6]
 
//Verwenden Sie Unendlich als Tiefe, um verschachtelte Arrays beliebiger Tiefe zu erweitern arr3.flat(Infinity); 
// [1, 2, 3, 4, 5, 6]

Damit ist dieser Artikel über verschiedene Methoden zur Dimensionsreduzierung von JS-Arrays abgeschlossen. Weitere relevante Inhalte zur Dimensionsreduzierung von JS-Arrays finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Die 5 umfassendsten Methoden zur Reduzierung der Dimension von Arrays in js (Zusammenfassung)
  • Implementierung der Dimensionsreduzierung von JS-Arrays Array.prototype.concat.apply([], arr)
  • Detaillierte Erklärung der Array-Dimensionsreduzierung in JavaScript

<<:  Zusammenfassung der Probleme bei der Installation und Verwendung des MySQL 5.7.19 Winx64 ZIP-Archivs

>>:  Der MySQL-Server wird mit der Option --skip-grant-tables ausgeführt.

Artikel empfehlen

CSS-Stil zum Zentrieren des HTML-Tags im Browser

CSS-Stil: Code kopieren Der Code lautet wie folgt:...

Detaillierte Analyse des MySQL-Datentyps DECIMAL

Vorwort: Wenn wir Dezimalzahlen speichern müssen ...

js implementiert das klassische Minesweeper-Spiel

In diesem Artikelbeispiel wird der spezifische Co...

Detailliertes Verständnis des Lebenszyklusvergleichs zwischen Vue2 und Vue3

Inhaltsverzeichnis Zyklusvergleich Verwendung Zus...

So zeichnen Sie in CocosCreator ein cooles Radardiagramm

Inhaltsverzeichnis Vorwort Vorschau Text Grafikko...

Einige Datenverarbeitungsmethoden, die häufig in JS verwendet werden können

Inhaltsverzeichnis DOM-Verarbeitung Arrays Verfah...

15 JavaScript-Funktionen, die es wert sind, gesammelt zu werden

Inhaltsverzeichnis 1. Zahlen umkehren 2. Holen Si...

JavaScript implementiert einfache Rechnerfunktion

In diesem Artikel wird der spezifische JavaScript...

JavaScript implementiert die asynchrone Übermittlung von Formulardaten

In diesem Artikelbeispiel wird der spezifische Ja...

Beispielanalyse für MySQL-Transaktionen, Isolationsebenen und Sperrenverwendung

Dieser Artikel beschreibt anhand von Beispielen M...

Detaillierte Erklärung der Zeichensätze und Validierungsregeln in MySQL

1Mehrere gängige Zeichensätze Zu den gängigsten Z...

Zusammenfassung gängiger Befehle zur Linux-Benutzer- und Gruppenverwaltung

Dieser Artikel fasst die allgemeinen Befehle zur ...

Detaillierte Erklärung der KeepAlive-Anwendungsfälle in Vue

Bei der Entwicklung ist es häufig erforderlich, d...