Heim > Web-Frontend > js-Tutorial > Was ist ein abgeflachtes Array und wie löst man das Problem der abgeflachten Anordnung mithilfe von Rekursionsfunktionen in JavaScript?

Was ist ein abgeflachtes Array und wie löst man das Problem der abgeflachten Anordnung mithilfe von Rekursionsfunktionen in JavaScript?

王林
Freigeben: 2024-07-24 00:13:23
Original
1157 Leute haben es durchsucht

What is a flattened array and How do solving flatten array problem using recursion functions in JavaScript?

Einführung:

Lassen Sie uns zunächst verstehen, was ein abgeflachtes Array ist. Ein abgeflachtes Array ist ein Array, aber dieses Array ist eine Form eines mehrdimensionalen Arrays, eines verschachtelten Arrays oder eines Arrays, das ein anderes Array enthält.

Flatten ist ein Ansatz oder eine Technik, die hilft, das mehrdimensionale Array auf ein eindimensionales Array zu reduzieren, das als Flatten bezeichnet wird.

Manchmal benötigen wir diese Art von Daten, wenn wir an Projekten arbeiten oder ein Problem lösen. Dann ist es hilfreich, die Gruppe des Datensatzes mithilfe eines abgeflachten Arrays zu übergeben.

Beispiel:

// This is a flattened array
let arr = [1,44, [2, [3,9], 67], 9];
Nach dem Login kopieren

Wie löst man ein Flattened-Array-Problem?

Es gibt mehrere Möglichkeiten, diese Art von Problem zu lösen, aber hier werde ich die Verwendung der Rekursionsmethode erklären, dies ist einer der besten Ansätze, um diese Art von Problem zu lösen.

Hier werde ich nicht auf eine detaillierte Erklärung der Rekursion eingehen, aber ich werde einen kleinen Überblick darüber geben. Wenn Sie mehr darüber erfahren möchten, werde ich einen separaten Beitrag dazu erstellen.

Rekursion ist ein Programmieransatz zur Lösung der Probleme sich wiederholender Arten von Arbeiten, der sich selbst direkt oder indirekt aufruft, bis die gegebenen besonderen Bedingungen nicht erfüllt werden. Wenn eine Übereinstimmung vorliegt, stoppt die Funktion den Aufruf selbst.

 // This is a flattened array
// Input:
  let arr = [1,44, [2, [3,9], 67], 9];

  // Function Defin 
  function recur(a) {
    let newArr = [];
    for (let i =0 ; i < a.length; i++) {
        const element = a[i];
        if (Array.isArray(element)) {
            // Function calling itself recursion
            newArr.push(...recur(element))
        } else  {
            newArr.push(element)
        }
    }

    return newArr;
  }

console.log(recur(arr))
Output:
[1,44,2,3,9, 67, 9]

// We can also write the same code using for each:
function flattenArray(items) {
    const flat = [];
    items.forEach(item => {
      if (Array.isArray(item)) {
        flat.push(...flatten(item));
      } else {
        flat.push(item);
      }
    });

    return flat;
  }

onsole.log(flattenArray(arr))
output:
[1,44,2,3,9, 67, 9]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas ist ein abgeflachtes Array und wie löst man das Problem der abgeflachten Anordnung mithilfe von Rekursionsfunktionen in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
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