Zwei Arrays mit Tasker sortieren

  • 2 Antworten
  • Neuester Beitrag
Diskutiere Zwei Arrays mit Tasker sortieren im Automatisierung - Tasker im Bereich Tools.
rtwl

rtwl

Stammgast
Ich möchte gerne zwei Arrays nach einer der beiden sortieren.

%Array_A() beinhaltet "Baum,Haus,Keller,Türe"
%Array_B() beinhaltet "1,3,1,2"

ich möchte beide nach Array_B sortieren, also mit folgendem Ergebnis:

%Array_A() "Baum,Keller,Türe,Haus"
%Array_B() "1,1,2,3"

gibt es dafür eine einfache Möglichkeit? Könnte mir da bitte jemand kurz helfen?
 
Mathens

Mathens

Stammgast
Am einfachsten geht es mit dem Plugin AutoTools
Code:
A1: AutoTools Arrays [
     Konfiguration: Input Arrays: %Array_B()=:=%Array_A()
     Separator: =:=
     Item Separator: ,
     Names: Array_B,Array_A
     Output Variables Separator: ,
     Sort Arrays: true
     Merged Array Name: atmergedarray
     Timeout (Sekunden): 60
     Structure Output (JSON, etc): An ]

A2: Array Set [
     Variable Array: %Array_A
     Values: %array_a()
     Teiler: , ]

A3: Array Set [
     Variable Array: %Array_B
     Values: %array_b()
     Teiler: , ]

Etwas komplizierter, dafür nur mit Tasker
Code:
A1: Arrays Merge [
     Names: %Array_B
     %Array_A
     Merge Type: Simple
     Starter: =:=
     Output: %sortiert ]

A2: Array Process [
     Variable Array: %sortiert
     Typ: Sort Alpha ]

A3: For [
     Variable: %element
     Einträge: %sortiert()
     Structure Output (JSON, etc): An ]

    A4: Variable Addiere [
         Name: %zähler
         Wert: 1
         Obergrenze: 0 ]

    A5: Variable Aufteilen [
         Name: %element
         Teiler: =:= ]

    A6: Variable Setzen [
         Name: %Array_A(%zähler)
         Zu: %element2
         Max Rounding Digits: 3
         Structure Output (JSON, etc): An ]

    A7: Variable Setzen [
         Name: %Array_B(%zähler)
         Zu: %element1
         Max Rounding Digits: 3
         Structure Output (JSON, etc): An ]

A8: End For
 
rtwl

rtwl

Stammgast
optimal, danke @Mathens
damit kann ich weiter arbeiten 👍🏼