Sortiertes Array - Letzter Einfügeindex

JavaScriptJavaScriptBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir das Konzept des Findens des letzten Einfügeindex in einem sortierten Array basierend auf einer bereitgestellten Iterationsfunktion mit JavaScript erkunden. Das Lab wird behandeln, wie man überprüft, ob ein Array in absteigender Reihenfolge sortiert ist, wie man eine Iterationsfunktion auf alle Elemente eines Arrays anwendet und wie man den passenden letzten Index findet, an dem ein Element eingefügt werden sollte, basierend auf der bereitgestellten Iterationsfunktion. Am Ende des Labs werdet ihr ein besseres Verständnis dafür haben, wie man Arrays in JavaScript manipuliert und Iterationsfunktionen verwendet.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("Destructuring Assignment") subgraph Lab Skills javascript/variables -.-> lab-28340{{"Sortiertes Array - Letzter Einfügeindex"}} javascript/data_types -.-> lab-28340{{"Sortiertes Array - Letzter Einfügeindex"}} javascript/arith_ops -.-> lab-28340{{"Sortiertes Array - Letzter Einfügeindex"}} javascript/comp_ops -.-> lab-28340{{"Sortiertes Array - Letzter Einfügeindex"}} javascript/array_methods -.-> lab-28340{{"Sortiertes Array - Letzter Einfügeindex"}} javascript/higher_funcs -.-> lab-28340{{"Sortiertes Array - Letzter Einfügeindex"}} javascript/destr_assign -.-> lab-28340{{"Sortiertes Array - Letzter Einfügeindex"}} end

Wie man den letzten Einfügeindex in einem sortierten Array basierend auf einer Funktion findet

Um zu beginnen, öffnen Sie das Terminal/SSH und geben Sie node ein.

Hier ist, wie man den höchsten Index findet, an dem ein Wert in ein Array eingefügt werden sollte, um seine Sortierreihenfolge beizubehalten, basierend auf einer bereitgestellten Iterationsfunktion:

  1. Überprüfen Sie, ob das Array in absteigender Reihenfolge sortiert ist.
  2. Verwenden Sie Array.prototype.map(), um die Iterationsfunktion auf alle Elemente des Arrays anzuwenden.
  3. Verwenden Sie Array.prototype.reverse() und Array.prototype.findIndex(), um den passenden letzten Index zu finden, an dem das Element eingefügt werden sollte, basierend auf der bereitgestellten Iterationsfunktion.

Siehe den folgenden Code:

const sortedLastIndexBy = (arr, n, fn) => {
  const isDescending = fn(arr[0]) > fn(arr[arr.length - 1]);
  const val = fn(n);
  const index = arr
    .map(fn)
    .reverse()
    .findIndex((el) => (isDescending ? val <= el : val >= el));
  return index === -1 ? 0 : arr.length - index;
};

Hier ist ein Beispiel:

sortedLastIndexBy([{ x: 4 }, { x: 5 }], { x: 4 }, (o) => o.x); // 1

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "Letzter Einfügeindex in sortiertem Array basierend auf Funktion" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.