ArrayUtil – Global
Die ArrayUtil- API ist eine Skripteinbindung mit nützlichen Funktionen für die Arbeit mit JavaScript-Arrays.
Diese Methoden stehen jedem serverseitigen Skript zur Verfügung.
ArrayUtil – concat(Array parent, Array child)
Führt zwei Arrays zusammen.
| Name | Typ | Beschreibung |
|---|---|---|
| parent | Array | Ein zusammenzuführendes Array |
| child | Array | Ein zusammenzuführendes Array |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| array | Array | Zu durchsuchendes Array. |
| Element | Objekt | Element, nach dem gesucht werden soll. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob das Element im Array gefunden wurde. Mögliche Werte:
|
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"));
Contains b: true
Contains x: falseArrayUtil – convertArray(Object a)
Konvertiert ein Java-Objekt in ein Array.
| Name | Typ | Beschreibung |
|---|---|---|
| a | Objekt | Zu konvertierendes Objekt. |
| Typ | Beschreibung |
|---|---|
| Array | Array, das aus dem Objekt erstellt wurde. |
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.
| Name | Typ | Beschreibung |
|---|---|---|
| a | Array | Ein Array |
| b | Array | Ein Array |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| object | Objekt | Objekt, aus dem ein Array erstellt werden soll. |
| Typ | Beschreibung |
|---|---|
| Array | Array, das aus dem Objekt erstellt wurde. |
Das folgende Beispiel zeigt, wie ein Array aus einem Objekt erstellt und das erstellte Array angezeigt wird.
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));
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 ein Array aus einem Objekt erstellt und der Inhalt des Arrays angezeigt wird.
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']);
Name is Servicenow
Symbol is NOWArrayUtil – indexOf(Array array, Object element)
Durchsucht das Array nach dem Element. Gibt den Elementindex zurück oder -1, wenn nicht gefunden.
| Name | Typ | Beschreibung |
|---|---|---|
| array | Array | Zu durchsuchendes Array. |
| Element | Objekt | Element, nach dem gesucht werden soll. |
| 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));
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): 2ArrayUtil – indexOf(Array array, Object element, Number startIndex)
Durchsucht das Array nach dem Element ab dem angegebenen Index. Gibt den Elementindex zurück oder -1, wenn nicht gefunden.
| 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. |
| 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));
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): 2ArrayUtil – intersect(Array a, Array b)
Findet die Elemente, die in allen Arrays vorhanden sind.
Als Parameter können beliebig viele Arrays angegeben werden.
| Name | Typ | Beschreibung |
|---|---|---|
| a | Array | Ein Array |
| b | Array | Ein Array |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| a | Array | Ein Array |
| b | Array | Ein Array |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| a | Array | Das auf doppelte Elemente zu überprüfende Array. |
| 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