ArrayUtil : Global

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 6 Minuten Lesedauer
  • Die ArrayUtil- Skripteinbindung stellt Methoden zum Arbeiten mit JavaScript-Arrays bereit.

    Diese Methoden stehen jedem serverseitigen Skript zur Verfügung.

    ArrayUtil – concat(Array parent, Array child)

    Führt zwei Arrays zusammen.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    parent Array Ein zusammenzuführendes Array
    child Array Ein zusammenzuführendes Array
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    Array Ein Array von Elementen aus beiden Eingabearrays. Duplikate werden nicht entfernt.
    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c");
    var a2 = new Array("c", "d", "e");
     
    gs.print("concat a1, a2: " + arrayUtil.concat(a1, a2));

    Ausgabe: concat a1, a2: a,b,c,c,d,e

    ArrayUtil – contains(Array array, Object element)

    Durchsucht das Array nach dem angegebenen Element. Gibt „true“ zurück, wenn das Element im Array vorhanden ist. Andernfalls wird „false“ zurückgegeben.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    array Array Zu durchsuchendes Array.
    Element Objekt Element, nach dem gesucht werden soll.
    Tabelle : 4. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob das Element im Array gefunden wurde.
    Mögliche Werte:
    • true: Element in Array gefunden.
    • false: Element im Array nicht gefunden.
    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c");
     
    gs.print("Contains b: " + arrayUtil.contains(a1, "b"));
    gs.print("Contains x: " + arrayUtil.contains(a1, "x"));
    Ausgabe:
    Contains b: true
    Contains x: false

    ArrayUtil – convertArray(Object a)

    Konvertiert ein Java-Objekt in ein Array.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    a Objekt Zu konvertierendes Objekt.
    Tabelle : 6. Rückgaben
    Typ Beschreibung
    Array Aus dem Objekt erstelltes Array.

    In diesem Beispiel wird ein Java-Objekt in ein Array konvertiert.

    var arrayUtil = new ArrayUtil();
    // Returns a JavaObject with the logged in user's groups
    var groupObj = gs.getUser().getMyGroups();
    gs.print('groupObj: ' + Object.prototype.toString.call(groupObj));
    
    var groupArr = arrayUtil.convertArray(groupObj);
    gs.print('groupArr: ' + Object.prototype.toString.call(groupArr));

    Ausgabe:

    groupObj: [object JavaObject]
    groupArr: [object Array]

    ArrayUtil – diff(Array a, Array b)

    Findet die Unterschiede zwischen zwei oder mehr Arrays.

    Als Parameter können beliebig viele Arrays angegeben werden.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    a Array Ein Array
    b Array Ein Array
    Tabelle : 8. Ergebnisse
    Typ Beschreibung
    Array Gibt ein Array von Elementen aus Array a zurück, die weder in Array b oder c noch in anderen Eingabearrays gefunden wurden. Duplikate werden aus dem Ergebnis entfernt.
    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c");
    var a2 = new Array("c", "d", "e");
    gs.print(arrayUtil.diff(a1, a2));

    Ausgabe: a, b

    ArrayUtil – ensureArray(Object object)

    Gibt ein Array aus dem angegebenen Objekt zurück.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    object Objekt Objekt, aus dem ein Array erstellt werden soll.
    Tabelle : 10. Rückgaben
    Typ Beschreibung
    Array Aus dem Objekt erstelltes Array.

    Das folgende Beispiel zeigt, wie Sie ein Array aus einem Objekt erstellen und das erstellte Array anzeigen.

    var arrayUtil = new ArrayUtil();
    var o1 = {a:"1",b:"2",c:"3"};
    gs.print('o1 is array: ' + Array.isArray(o1));
    gs.print('o1 stringified: ' + JSON.stringify(o1));
    
    var a1 = arrayUtil.ensureArray(o1);
    gs.print('a1 is array: ' + Array.isArray(a1));
    gs.print('a1 stringified: ' + JSON.stringify(a1));
    Ausgabe:
    o1 is array: false
    o1 stringified: {"a":"1","b":"2","c":"3"}
    a1 is array: true
    a1 stringified: [{"a":"1","b":"2","c":"3"}]

    Das folgende Beispiel zeigt, wie Sie ein Array aus einem Objekt erstellen und den Inhalt des Arrays anzeigen.

    var stock = { 'name': 'Servicenow', 'sym': 'NOW' };
    
    var arr = new ArrayUtil();
    var stArray = arr.ensureArray(stock);
    
    gs.info("Name is " + stArray[0]['name']);
    gs.info("Symbol is " + stArray[0]['sym']);
    Ausgabe:
    Name is Servicenow
    Symbol is NOW

    ArrayUtil – indexOf(Array array, Object element)

    Durchsucht das Array nach dem Element. Gibt den Elementindex oder -1 zurück, falls nicht gefunden.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    array Array Zu durchsuchendes Array.
    Element Objekt Element, nach dem gesucht werden soll.
    Tabelle : 12. Rückgaben
    Typ Beschreibung
    Nummer Position des Elements im Array oder -1, wenn das Element nicht gefunden wird.
    var arrayUtil = new ArrayUtil();
    var arr = new Array("a", "b", "c", "x", "y", "z");
    gs.print("Array: " + arr);
    
    gs.print("Index of a: " + arrayUtil.indexOf(arr, "a"));
    gs.print("Index of a starting at 2: " + arrayUtil.indexOf(arr, "a", 2));
    
    gs.print("Index of c: " + arrayUtil.indexOf(arr, "c"));
    gs.print("Index of c starting at 1: " + arrayUtil.indexOf(arr, "c", 1));
    
    gs.print("Index of z: " + arrayUtil.indexOf(arr, "z"));
    gs.print("Index of z starting at 4: " + arrayUtil.indexOf(arr, "z", 4));
    
    // If negative value is sent as startIndex then (startIndex + length of array ) is considered as start index.
    
    // startIndex = -1+(6); startIndex is considered as 5 in this case
    gs.print("Index of c starting at -1 (Re-Calculated to 5): " + arrayUtil.indexOf(arr, "c", -1)); 
    
    // startIndex = -10+(6) which is -4,if negative value again then startIndex is considered as 0
    gs.print("Index of c starting at -10 (Re-Calculated to 0): " + arrayUtil.indexOf(arr, "c", -10)); 
    Ausgabe:
    Array: a,b,c,x,y,z
    Index of a: 0
    Index of a starting at 2: -1
    Index of c: 2
    Index of c starting at 1: 2
    Index of z: 5
    Index of z starting at 4: 5
    Index of c starting at -1 (Re-Calculated to 5): -1
    Index of c starting at -10 (Re-Calculated to 0): 2

    ArrayUtil – indexOf(Array array, Object element, Number startIndex)

    Durchsucht das Array nach dem Element ab dem angegebenen Index. Gibt den Elementindex oder -1 zurück, falls nicht gefunden.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    array Array Zu durchsuchendes Array.
    Element Objekt Element, nach dem gesucht werden soll.
    startIndex Nummer Index, ab dem die Suche gestartet werden soll.
    Tabelle : 14. Rückgaben
    Typ Beschreibung
    Nummer Position des Elements im Array oder -1, wenn das Element nicht gefunden wird.
    var arrayUtil = new ArrayUtil();
    var arr = new Array("a", "b", "c", "x", "y", "z");
    gs.print("Array: " + arr);
    
    gs.print("Index of a: " + arrayUtil.indexOf(arr, "a"));
    gs.print("Index of a starting at 2: " + arrayUtil.indexOf(arr, "a", 2));
    
    gs.print("Index of c: " + arrayUtil.indexOf(arr, "c"));
    gs.print("Index of c starting at 1: " + arrayUtil.indexOf(arr, "c", 1));
    
    gs.print("Index of z: " + arrayUtil.indexOf(arr, "z"));
    gs.print("Index of z starting at 4: " + arrayUtil.indexOf(arr, "z", 4));
    
    // If negative value is sent as startIndex then (startIndex + length of array ) is considered as start index.
    
    // startIndex = -1+(6); startIndex is considered as 5 in this case
    gs.print("Index of c starting at -1 (Re-Calculated to 5): " + arrayUtil.indexOf(arr, "c", -1)); 
    
    // startIndex = -10+(6) which is -4,if negative value again then startIndex is considered as 0
    gs.print("Index of c starting at -10 (Re-Calculated to 0): " + arrayUtil.indexOf(arr, "c", -10)); 
    Ausgabe:
    Array: a,b,c,x,y,z
    Index of a: 0
    Index of a starting at 2: -1
    Index of c: 2
    Index of c starting at 1: 2
    Index of z: 5
    Index of z starting at 4: 5
    Index of c starting at -1 (Re-Calculated to 5): -1
    Index of c starting at -10 (Re-Calculated to 0): 2

    ArrayUtil – intersect(Array a, Array b)

    Findet die Elemente, die in allen Arrays vorhanden sind.

    Als Parameter können beliebig viele Arrays angegeben werden.

    Tabelle : 15. Parameter
    Name Typ Beschreibung
    a Array Ein Array
    b Array Ein Array
    Tabelle : 16. Ergebnisse
    Typ Beschreibung
    Array Ein Array von Elementen aus Array a, die in allen anderen Eingabearrays gefunden wurden. Duplikate werden entfernt.
    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c");
    var a2 = new Array("c", "d", "e");
    gs.print(arrayUtil.intersect(a1, a2));

    Ausgabe: c

    ArrayUtil – union(Array a, Array b)

    Verbindet zwei oder mehr Arrays.

    Als Parameter können beliebig viele Arrays angegeben werden.

    Tabelle : 17. Parameter
    Name Typ Beschreibung
    a Array Ein Array
    b Array Ein Array
    Tabelle : 18. Ergebnisse
    Typ Beschreibung
    Array Ein Array von Elementen aus allen Eingabearrays. Duplikate werden entfernt.
    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c");
    var a2 = new Array("c", "d", "e");
    gs.print(arrayUtil.union(a1, a2));

    Ausgabe: a, b, c, d, e

    ArrayUtil – unique(Array a)

    Entfernt doppelte Elemente aus einem Array.

    Tabelle : 19. Parameter
    Name Typ Beschreibung
    a Array Das auf doppelte Elemente zu überprüfende Array.
    Tabelle : 20. Ergebnisse
    Typ Beschreibung
    Array Ein Array eindeutiger Elemente aus dem Eingabearray.
    var arrayUtil = new ArrayUtil();
    var a1 = new Array("a", "b", "c", "c", "b");
    gs.print(arrayUtil.unique(a1));

    Ausgabe: a, c, b