0

Feature Request: Array / Liste umkehren (reverse) in Ninox Script

In der Ninox-Skriptsprache fehlt aktuell eine einfache Möglichkeit, die Reihenfolge einer Liste umzudrehen („auf den Kopf zu stellen“).

Eine eingebaute Funktion wie z. B.

reverse(list)

würde viele Anwendungsfälle vereinfachen (neueste zuerst, Spiegeln von Sequenzen, Verarbeitung von Ergebnissen).

Vergleich JavaScript

array.reverse()

Vergleich PHP

array_reverse($array)

Nutzen:

  • weniger Code & Fehleranfälligkeit
  • bessere Lesbarkeit
  • typische Grundfunktion für Verarbeitung von Listen und Arrays

Idealerweise als nicht-destruktive Funktion, die eine neue Liste zurückgibt.

3 Antworten

null
    • UweG
    • vor 3 Tagen
    • Gemeldet - anzeigen

    Wie sieht es mit der Funktion rsort() aus?
    Vielleicht hilft die folgender Link weiter.

      • qd_team
      • vor 3 Tagen
      • Gemeldet - anzeigen

       

      Wenn ich das richtig verstehe ist rsort() eine Sortierfunktion (absteigend) und kein “reines Umkehren” der bestehenden Reihenfolge.

      • In den Ninox-Docs steht explizit: „sortiert ein Array in absteigender Reihenfolge“. 
      • Außerdem: Übergibst du einzelne Werte, werden sie zu einem Array zusammengefügt und dann sortiert; bei einem oder mehreren Arrays werden sie gemerged und anschließend als ein sortiertes Array zurückgegeben.

      Das heißt praktisch:

      • rsort([3,1,2]) ➡️ [3,2,1] - Sortierung nach Wert
      • ein hypothetisches reverse([3,1,2]) ➡️ [2,1,3] - nur Reihenfolge drehen
    • Pushing the Boundaries of Ninox
    • Gotje_Ing
    • vor 3 Tagen
    • Gemeldet - anzeigen

    Moin,

    bitte wenigstens die Threads verlinken, aus denen die Fragen entstehen. So kann man besser nachvollziehen, welche Geschichte dahinter steht. 
    Kurzfassung: Folgendes Script ist als Shorthand gewünscht:
    let mySelect := (select Tabelle where ... order by XYZ);
    mySelect := for i in range(cnt(mySelect), 0, -1) do
                        item(mySelect, i - 1)
                    end

    https://forum.ninox.de/t/83yppv3?r=60yppvr

Content aside

  • vor 3 TagenZuletzt aktiv
  • 3Antworten
  • 34Ansichten
  • 3 Folge bereits