Arrayfunktionen für Bicep
In diesem Artikel werden die Bicep-Funktionen für die Arbeit mit Arrays beschrieben. Die Lambdafunktionen für die Verwendung von Arrays finden Sie hier.
array
array(convertToArray)
Konvertiert den Wert in ein Array.
Namespace: sys
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
convertToArray | Ja | int, string, array oder object | Der Wert, der in ein Array konvertiert werden soll. |
Rückgabewert
Ein -Array.
Beispiel
Im folgenden Beispiel wird die Verwendung der array-Funktion mit unterschiedlichen Typen gezeigt.
param intToConvert int = 1
param stringToConvert string = 'efgh'
param objectToConvert object = {
a: 'b'
c: 'd'
}
output intOutput array = array(intToConvert)
output stringOutput array = array(stringToConvert)
output objectOutput array = array(objectToConvert)
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
intOutput | Array | [1] |
stringOutput | Array | ["efgh"] |
objectOutput | Array | [{"a": "b", "c": "d"}] |
concat
concat(arg1, arg2, arg3, ...)
Kombiniert mehrere Arrays und gibt das verkettete Array zurück. Weitere Informationen zum Kombinieren mehrerer Zeichenfolgen finden Sie unter concat.
Namespace: sys.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
arg1 | Ja | array | Das erste Array für die Verkettung. |
Mehr Argumente | Nein | array | Mehr Arrays in sequenzieller Reihenfolge für die Verkettung. |
Diese Funktion akzeptiert eine beliebige Anzahl von Arrays und kombiniert sie.
Rückgabewert
Ein Array aus verketteten Werten.
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie zwei Arrays kombiniert werden.
param firstArray array = [
'1-1'
'1-2'
'1-3'
]
param secondArray array = [
'2-1'
'2-2'
'2-3'
]
output return array = concat(firstArray, secondArray)
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
return | Array | ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"] |
contains
contains(container, itemToFind)
Überprüft, ob ein Array einen Wert enthält, ein Objekt einen Schlüssel enthält oder eine Zeichenfolge eine Teilzeichenfolge enthält. Die Groß-/Kleinschreibung wird beim Zeichenfolgenvergleich beachtet. Wenn Sie jedoch testen, ob ein Objekt einen Schlüssel enthält, wird die Groß-/Kleinschreibung beim Vergleich nicht beachtet.
Namespace: sys.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
Container | Ja | Array, Objekt oder Zeichenfolge | Der Wert, der den zu suchenden Wert enthält. |
itemToFind | Ja | Zeichenfolge oder ganze Zahl | Der zu suchende Wert. |
Rückgabewert
True, wenn das Element gefunden wurde; andernfalls False.
Beispiel
Das folgende Beispiel zeigt die Verwendung von „contains“ mit unterschiedlichen Typen:
param stringToTest string = 'OneTwoThree'
param objectToTest object = {
one: 'a'
two: 'b'
three: 'c'
}
param arrayToTest array = [
'one'
'two'
'three'
]
output stringTrue bool = contains(stringToTest, 'e')
output stringFalse bool = contains(stringToTest, 'z')
output objectTrue bool = contains(objectToTest, 'one')
output objectFalse bool = contains(objectToTest, 'a')
output arrayTrue bool = contains(arrayToTest, 'three')
output arrayFalse bool = contains(arrayToTest, 'four')
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
stringTrue | Bool | True |
stringFalse | Bool | False |
objectTrue | Bool | True |
objectFalse | Bool | False |
arrayTrue | Bool | True |
arrayFalse | Bool | False |
empty
empty(itemToTest)
Bestimmt, ob ein Array, ein Objekt oder eine Zeichenfolge leer oder null ist.
Namespace: sys.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
itemToTest | Ja | Array, Objekt oder Zeichenfolge | Der Wert, der überprüft werden soll, ob er leer oder null ist. |
Rückgabewert
Gibt True zurück, wenn der Wert leer oder null ist; andernfalls False.
Beispiel
Im folgenden Beispiel wird überprüft, ob ein Array, Objekt und eine Zeichenfolge leer sind.
param testArray array = []
param testObject object = {}
param testString string = ''
param testNullString string?
output arrayEmpty bool = empty(testArray)
output objectEmpty bool = empty(testObject)
output stringEmpty bool = empty(testString)
output stringNull bool = empty(testNullString)
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
arrayEmpty | Bool | True |
objectEmpty | Bool | True |
stringEmpty | Bool | True |
stringNull | Bool | True |
Schnellstartbeispiele
Das folgende Beispiel stammt aus der Schnellstartvorlage Virtual Network mit Diagnoseprotokolleinstellungen:
@description('Array containing DNS Servers')
param dnsServers array = []
...
resource vnet 'Microsoft.Network/virtualNetworks@2023-11-01' = {
name: vnetName
location: location
properties: {
addressSpace: {
addressPrefixes: vnetAddressSpace
}
dhcpOptions: empty(dnsServers) ? null : {
dnsServers: dnsServers
}
...
}
}
Im bedingten Ausdruck wird die empty-Funktion verwendet, um festzustellen, ob das dnsServers-Array ein leeres Array ist.
first
first(arg1)
Gibt das erste Element des Arrays oder das erste Zeichen der Zeichenfolge zurück.
Namespace: sys
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
arg1 | Ja | Array oder Zeichenfolge | Der Wert, dessen erstes Element oder Zeichen abgerufen wird. |
Rückgabewert
Der Typ (Zeichenfolge, ganze Zahl, Array oder Objekt) des ersten Elements in einem Array oder das erste Zeichen einer Zeichenfolge.
Beispiel
Im folgenden Beispiel wird die Verwendung der first-Funktion mit einem Array und einer Zeichenfolge gezeigt.
param arrayToTest array = [
'one'
'two'
'three'
]
output arrayOutput string = first(arrayToTest)
output stringOutput string = first('One Two Three')
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
arrayOutput | String | one |
stringOutput | String | O |
Vereinfachen
flatten(arrayToFlatten)
Übernimmt ein Array von Arrays, und gibt ein Array von Subarrayelementen in der ursprünglichen Reihenfolge zurück. Subarrays werden nur einmal vereinfacht, nicht rekursiv.
Namespace: sys.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
arrayToFlattern | Ja | array | Das Array der zu vereinfachenden Subarrays. |
Rückgabewert
Array
Beispiel
Das folgende Beispiel veranschaulicht die Verwendung der flatten-Funktion.
param arrayToTest array = [
['one', 'two']
['three']
['four', 'five']
]
output arrayOutput array = flatten(arrayToTest)
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
arrayOutput | array | ['one', 'two', 'three', 'four', 'five'] |
indexOf
indexOf(arrayToSearch, itemToFind)
Gibt eine ganze Zahl für den Index des ersten Vorkommens eines Elements in einem Array zurück. Beim Vergleich von Zeichenfolgen wird die Groß-/Kleinschreibung beachtet.
Namespace: sys.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
arrayToSearch | Ja | array | Das Array, das zum Suchen des Indexes des gesuchten Elements verwendet werden soll. |
itemToFind | Ja | int, string, array oder object | Das Element, das im Array gesucht werden soll. |
Rückgabewert
Eine ganze Zahl, die den ersten Index des Elements in dem Array darstellt. Der Index ist nullbasiert. Wenn das Element nicht gefunden wird, wird -1 zurückgegeben.
Beispiele
Das folgende Beispiel zeigt die Verwendung der Funktionen „indexOf“ und „lastIndexOf“:
var names = [
'one'
'two'
'three'
]
var numbers = [
4
5
6
]
var collection = [
names
numbers
]
var duplicates = [
1
2
3
1
]
output index1 int = lastIndexOf(names, 'two')
output index2 int = indexOf(names, 'one')
output notFoundIndex1 int = lastIndexOf(names, 'Three')
output index3 int = lastIndexOf(numbers, 4)
output index4 int = indexOf(numbers, 6)
output notFoundIndex2 int = lastIndexOf(numbers, '5')
output index5 int = indexOf(collection, numbers)
output index6 int = indexOf(duplicates, 1)
output index7 int = lastIndexOf(duplicates, 1)
Die Ausgabe aus dem vorherigen Beispiel lautet wie folgt:
Name | type | Wert |
---|---|---|
index1 | INT | 1 |
index2 | INT | 0 |
index3 | INT | 0 |
index4 | INT | 2 |
index5 | INT | 1 |
index6 | INT | 0 |
index7 | INT | 3 |
notFoundIndex1 | INT | -1 |
notFoundIndex2 | INT | -1 |
Schnittmenge
intersection(arg1, arg2, arg3, ...)
Gibt ein einzelnes Array oder ein Objekt mit den gemeinsamen Elementen aus den Parametern zurück.
Namespace: sys.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
arg1 | Ja | Array oder Objekt | Der erste Wert für die Suche nach gemeinsamen Elementen. |
arg2 | Ja | Array oder Objekt | Der zweite Wert für die Suche nach gemeinsamen Elementen. |
mehr Argumente | Nein | Array oder Objekt | Mehr Werte für die Suche nach gemeinsamen Elementen. |
Rückgabewert
Ein Array oder Objekt mit den gemeinsamen Elementen. Die Reihenfolge der Elemente wird durch den ersten Arrayparameter bestimmt.
Beispiel
Im folgenden Beispiel wird die Verwendung von „intersection“ mit Arrays und Objekten gezeigt:
param firstObject object = {
one: 'a'
two: 'b'
three: 'c'
}
param secondObject object = {
one: 'a'
two: 'z'
three: 'c'
}
param firstArray array = [
'one'
'two'
'three'
]
param secondArray array = [
'two'
'three'
]
output objectOutput object = intersection(firstObject, secondObject)
output arrayOutput array = intersection(firstArray, secondArray)
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
objectOutput | Object | {"one": "a", "three": "c"} |
arrayOutput | Array | ["two", "three"] |
Der erste Arrayparameter bestimmt die Reihenfolge der Schnittmengenelemente. Das folgende Beispiel zeigt, wie die Reihenfolge der zurückgegebenen Elemente darauf basiert, welches Array das erste ist.
var array1 = [
1
2
3
4
]
var array2 = [
3
2
1
]
var array3 = [
4
1
3
2
]
output commonUp array = intersection(array1, array2, array3)
output commonDown array = intersection(array2, array3, array1)
Die Ausgabe aus dem vorherigen Beispiel lautet wie folgt:
Name | type | Wert |
---|---|---|
commonUp | array | [1, 2, 3] |
commonDown | array | [3, 2, 1] |
last
last(arg1)
Gibt das letzte Element des Arrays bzw. das letzte Zeichen der Zeichenfolge zurück.
Namespace: sys
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
arg1 | Ja | Array oder Zeichenfolge | Der Wert, dessen letztes Element oder Zeichen abgerufen wird. |
Rückgabewert
Der Typ (Zeichenfolge, ganze Zahl, Array oder Objekt) des letzten Elements in einem Array oder das letzte Zeichen einer Zeichenfolge.
Beispiel
Im folgenden Beispiel wird die Verwendung der last-Funktion mit einem Array und einer Zeichenfolge gezeigt.
param arrayToTest array = [
'one'
'two'
'three'
]
output arrayOutput string = last(arrayToTest)
output stringOutput string = last('One Two three')
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
arrayOutput | String | three |
stringOutput | String | e |
lastIndexOf
lastIndexOf(arrayToSearch, itemToFind)
Gibt eine ganze Zahl für den Index des letzten Vorkommens eines Elements in einem Array zurück. Beim Vergleich von Zeichenfolgen wird die Groß-/Kleinschreibung beachtet.
Namespace: sys.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
arrayToSearch | Ja | array | Das Array, das zum Suchen des Indexes des gesuchten Elements verwendet werden soll. |
itemToFind | Ja | int, string, array oder object | Das Element, das im Array gesucht werden soll. |
Rückgabewert
Eine ganze Zahl, die den letzten Index des Elements in dem Array darstellt. Der Index ist nullbasiert. Wenn das Element nicht gefunden wird, wird -1 zurückgegeben.
Beispiele
Das folgende Beispiel zeigt die Verwendung der Funktionen „indexOf“ und „lastIndexOf“:
var names = [
'one'
'two'
'three'
]
var numbers = [
4
5
6
]
var collection = [
names
numbers
]
var duplicates = [
1
2
3
1
]
output index1 int = lastIndexOf(names, 'two')
output index2 int = indexOf(names, 'one')
output notFoundIndex1 int = lastIndexOf(names, 'Three')
output index3 int = lastIndexOf(numbers, 4)
output index4 int = indexOf(numbers, 6)
output notFoundIndex2 int = lastIndexOf(numbers, '5')
output index5 int = indexOf(collection, numbers)
output index6 int = indexOf(duplicates, 1)
output index7 int = lastIndexOf(duplicates, 1)
Die Ausgabe aus dem vorherigen Beispiel lautet wie folgt:
Name | type | Wert |
---|---|---|
index1 | INT | 1 |
index2 | INT | 0 |
index3 | INT | 0 |
index4 | INT | 2 |
index5 | INT | 1 |
index6 | INT | 0 |
index7 | INT | 3 |
notFoundIndex1 | INT | -1 |
notFoundIndex2 | INT | -1 |
length
length(arg1)
Gibt die Anzahl von Elementen in einem Array, Zeichen in einer Zeichenfolge oder Eigenschaften auf Stammebene in einem Objekt zurück.
Namespace: sys.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
arg1 | Ja | Array, Zeichenfolge oder Objekt | Das Array, von dem die Anzahl der Elemente ermittelt werden soll, die Zeichenfolge, von der die Anzahl der Zeichen ermittelt werden soll, oder das Objekt, von dem die Anzahl der Eigenschaften auf Stammebene ermittelt werden soll. |
Rückgabewert
Eine ganze Zahl.
Beispiel
Im folgenden Beispiel wird die Verwendung von „length“ mit einem Array und einer Zeichenfolge gezeigt:
param arrayToTest array = [
'one'
'two'
'three'
]
param stringToTest string = 'One Two Three'
param objectToTest object = {
propA: 'one'
propB: 'two'
propC: 'three'
propD: {
'propD-1': 'sub'
'propD-2': 'sub'
}
}
output arrayLength int = length(arrayToTest)
output stringLength int = length(stringToTest)
output objectLength int = length(objectToTest)
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
arraylength | Int | 3 |
stringLength | Int | 13 |
objectLength | Int | 4 |
Schnellstartbeispiele
Das folgende Beispiel wird aus einer Schnellstartvorlage extrahiert, Bereitstellen von API Management in einem externen VNet mit öffentlicher IP-Adresse:
@description('Numbers for availability zones, for example, 1,2,3.')
param availabilityZones array = [
'1'
'2'
]
resource exampleApim 'Microsoft.ApiManagement/service@2023-05-01-preview' = {
name: apiManagementName
location: location
sku: {
name: sku
capacity: skuCount
}
zones: ((length(availabilityZones) == 0) ? null : availabilityZones)
...
}
Im bedingten Ausdruck überprüft die length
-Funktion die Länge des availabilityZones-Arrays.
Weitere Beispiele finden Sie in den folgenden Bicep-Schnellstartdateien:
- Sichern von Resource Manager-VMs mithilfe des Recovery Services-Tresors
- Bereitstellen von API Management in Verfügbarkeitszonen
- Erstellen einer Firewall und Firewallrichtlinie mit Regeln und IP-Gruppen
- Erstellen einer Sandboxeinrichtung von Azure Firewall mit Zonen
max
max(arg1)
Gibt den größten Wert aus einem Array mit ganzen Zahlen oder einer durch Trennzeichen getrennten Liste mit ganzen Zahlen zurück.
Namespace: sys
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
arg1 | Ja | Array mit ganzen Zahlen oder durch Trennzeichen getrennte Liste mit ganzen Zahlen | Die Auflistung, aus der der größte Wert abgerufen werden soll. |
Rückgabewert
Ein Ganzzahlwert, der den größten Wert darstellt.
Beispiel
Im folgenden Beispiel wird gezeigt, wie „max“ mit einem Array und einer Liste mit ganzen Zahlen verwendet wird:
param arrayToTest array = [
0
3
2
5
4
]
output arrayOutput int = max(arrayToTest)
output intOutput int = max(0,3,2,5,4)
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
arrayOutput | Int | 5 |
intOutput | Int | 5 |
Min
min(arg1)
Gibt den kleinsten Wert aus einem Array mit ganzen Zahlen oder einer durch Trennzeichen getrennten Liste mit ganzen Zahlen zurück.
Namespace: sys
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
arg1 | Ja | Array mit ganzen Zahlen oder durch Trennzeichen getrennte Liste mit ganzen Zahlen | Die Auflistung, aus der der kleinste Wert abgerufen werden soll. |
Rückgabewert
Ein Ganzzahlwert, der den kleinsten Wert darstellt.
Beispiel
Im folgenden Beispiel wird gezeigt, wie „min“ mit einem Array und einer Liste mit ganzen Zahlen verwendet wird:
param arrayToTest array = [
0
3
2
5
4
]
output arrayOutput int = min(arrayToTest)
output intOutput int = min(0,3,2,5,4)
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
arrayOutput | Int | 0 |
intOutput | Int | 0 |
range
range(startIndex, count)
Erstellt ein Array aus ganzen Zahlen, das mit einer ganzen Zahl beginnt und die Anzahl der Elemente enthält.
Namespace: sys
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
startIndex | Ja | INT | Die erste ganze Zahl im Array. Die Summe von „startIndex“ und „count“ darf nicht größer sein als 2147483647. |
count | Ja | INT | Die Anzahl von ganzen Zahlen im Array. Muss eine positive ganze Zahl bis 10000 sein. |
Rückgabewert
Ein Array mit ganzen Zahlen.
Beispiel
Das folgende Beispiel zeigt die Verwendung der „range“-Funktion:
param startingInt int = 5
param numberOfElements int = 3
output rangeOutput array = range(startingInt, numberOfElements)
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
rangeOutput | Array | [5, 6, 7] |
Schnellstartbeispiele
Das folgende Beispiel wird aus einer Schnellstartvorlage extrahiert, Zwei VMs in VNET – Interner Lastenausgleich und LB-Regeln:
...
var numberOfInstances = 2
resource networkInterface 'Microsoft.Network/networkInterfaces@2023-11-01' = [for i in range(0, numberOfInstances): {
name: '${networkInterfaceName}${i}'
location: location
properties: {
...
}
}]
resource vm 'Microsoft.Compute/virtualMachines@2024-03-01' = [for i in range(0, numberOfInstances): {
name: '${vmNamePrefix}${i}'
location: location
properties: {
...
}
}]
Die Bicep-Datei erstellt zwei networkInterface- und zwei virtualMachine-Ressourcen.
Weitere Beispiele finden Sie in den folgenden Bicep-Schnellstartdateien:
- Multi-VM-Vorlage mit verwaltetem Datenträger
- Erstellen einer VM mit mehreren leeren StandardSSD_LRS-Datenträgern
- Erstellen einer Firewall und Firewallrichtlinie mit Regeln und IP-Gruppen
- Erstellen einer Azure Firewall mit IpGroups
- Erstellen einer Sandboxeinrichtung von Azure Firewall mit Zonen
- Erstellen einer Azure Firewall-Instanz mit mehreren öffentlichen IP-Adressen
- Erstellen einer Load Balancer Standard-Instanz
- Beispiel für eine Azure Traffic Manager-VM
- Erstellen einer Sicherheitsautomatisierung für bestimmte Warnungen
- SQL Server-VM mit leistungsoptimierten Speichereinstellungen
- Erstellen eines Speicherkontos mit mehreren Blob-Containern
- Erstellen eines Speicherkontos mit mehreren Dateifreigaben
skip
skip(originalValue, numberToSkip)
Gibt ein Array mit allen Elementen gemäß der angegebenen Anzahl im Array bzw. eine Zeichenfolge mit allen Zeichen gemäß der angegebenen Anzahl in der Zeichenfolge zurück.
Namespace: sys
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
originalValue | Ja | Array oder Zeichenfolge | Array oder Zeichenfolge, wo Elemente übersprungen werden sollen. |
numberToSkip | Ja | INT | Die Anzahl der zu überspringenden Elemente bzw. Zeichen. Wenn dieser Wert 0 (null) oder kleiner ist, werden alle Elemente oder Zeichen in dem Wert zurückgegeben. Ist er größer als die Länge des Arrays bzw. der Zeichenfolge, wird ein leeres Array bzw. eine leere Zeichenfolge zurückgegeben. |
Rückgabewert
Ein Array oder eine Zeichenfolge.
Beispiel
Im folgenden Beispiel wird die angegebene Anzahl von Elementen im Array und Zeichen in der Zeichenfolge übersprungen.
param testArray array = [
'one'
'two'
'three'
]
param elementsToSkip int = 2
param testString string = 'one two three'
param charactersToSkip int = 4
output arrayOutput array = skip(testArray, elementsToSkip)
output stringOutput string = skip(testString, charactersToSkip)
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
arrayOutput | Array | ["three"] |
stringOutput | String | two three |
take
take(originalValue, numberToTake)
Gibt ein Array mit der angegebenen Anzahl von Elementen ab dem Anfang des Arrays bzw. eine Zeichenfolge mit der angegebenen Anzahl von Zeichen ab dem Anfang der Zeichenfolge zurück.
Namespace: sys
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
originalValue | Ja | Array oder Zeichenfolge | Das Array bzw. die Zeichenfolge, wo die Elemente entnommen werden sollen. |
numberToTake | Ja | INT | Die Anzahl der zu entnehmenden Elemente bzw. Zeichen. Ist dieser Wert 0 oder kleiner, wird ein leeres Array bzw. eine leere Zeichenfolge zurückgegeben. Ist er größer als die Länge des entsprechenden Arrays bzw. der Zeichenfolge, werden alle Elemente des Arrays bzw. der Zeichenfolge zurückgegeben. |
Rückgabewert
Ein Array oder eine Zeichenfolge.
Beispiel
Im folgenden Beispiel wird die angegebene Anzahl von Elementen aus dem Array und Zeichen aus der Zeichenfolge entnommen.
param testArray array = [
'one'
'two'
'three'
]
param elementsToTake int = 2
param testString string = 'one two three'
param charactersToTake int = 2
output arrayOutput array = take(testArray, elementsToTake)
output stringOutput string = take(testString, charactersToTake)
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
arrayOutput | Array | ["one", "two"] |
stringOutput | String | on |
union
union(arg1, arg2, arg3, ...)
Gibt ein einzelnes Array oder Objekt mit allen Elementen aus den Parametern zurück. Bei Arrays werden doppelte Werte einmal einbezogen. Bei Objekten werden doppelte Eigenschaftsnamen nur einmal einbezogen.
Namespace: sys.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
arg1 | Ja | Array oder Objekt | Der erste zum Verknüpfen von Elementen zu verwendende Wert. |
arg2 | Ja | Array oder Objekt | Der zweite zum Verknüpfen von Elementen zu verwendende Wert. |
mehr Argumente | Nein | Array oder Objekt | Mehr zum Verknüpfen von Elementen zu verwendende Werte. |
Rückgabewert
Ein Array oder Objekt.
Hinweise
Die Union-Funktion bestimmt anhand der Abfolge der Parameter die Reihenfolge und die Werte des Ergebnisses.
Bei Arrays durchläuft die Funktion jedes Element im ersten Parameter und fügt es dem Ergebnis hinzu, falls nicht bereits vorhanden. Dann wird der Vorgang für den zweiten und alle weiteren Parameter wiederholt. Wenn ein Wert bereits vorhanden ist, wird seine frühere Platzierung im Array beibehalten.
Für Objekte werden Eigenschaftennamen und Werte aus dem ersten Parameter zum Ergebnis hinzugefügt. Bei späteren Parametern werden dem Ergebnis alle neuen Namen hinzugefügt. Wenn ein späterer Parameter über eine Eigenschaft mit demselben Namen verfügt, überschreibt dieser Wert den vorhandenen Wert. Die Reihenfolge der Eigenschaften ist nicht garantiert.
Die Union-Funktion führt nicht nur die Elemente der obersten Ebene zusammen, sondern auch rekursiv alle darin enthaltenen geschachtelten Objekte. Geschachtelte Arraywerte werden nicht zusammengeführt. Sehen Sie sich das zweite Beispiel im folgenden Abschnitt an.
Beispiel
Im folgenden Beispiel wird die Verwendung von „union“ mit Arrays und Objekten gezeigt:
param firstObject object = {
one: 'a'
two: 'b'
three: 'c1'
}
param secondObject object = {
three: 'c2'
four: 'd'
five: 'e'
}
param firstArray array = [
'one'
'two'
'three'
]
param secondArray array = [
'three'
'four'
'two'
]
output objectOutput object = union(firstObject, secondObject)
output arrayOutput array = union(firstArray, secondArray)
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
objectOutput | Object | {"one": "a", "two": "b", "three": "c2", "four": "d", "five": "e"} |
arrayOutput | Array | ["one", "two", "three", "four"] |
Das folgende Beispiel zeigt die Funktion „Deep Merge“:
var firstObject = {
property: {
one: 'a'
two: 'b'
three: 'c1'
}
nestedArray: [
1
2
]
}
var secondObject = {
property: {
three: 'c2'
four: 'd'
five: 'e'
}
nestedArray: [
3
4
]
}
var firstArray = [
[
'one'
'two'
]
[
'three'
]
]
var secondArray = [
[
'three'
]
[
'four'
'two'
]
]
output objectOutput object = union(firstObject, secondObject)
output arrayOutput array = union(firstArray, secondArray)
Die Ausgabe aus dem vorherigen Beispiel lautet wie folgt:
Name | type | Wert |
---|---|---|
objectOutput | Object | {"property":{"one":"a","two":"b","three":"c2","four":"d","five":"e"},"nestedArray":[3,4]} |
arrayOutput | Array | [["one","two"],["three"],["four","two"]] |
Wenn geschachtelte Arrays zusammengeführt wurden, lautet der Wert von objectOutput.nestedArray „[1, 2, 3, 4]“, und der Wert von arrayOutput wäre „[["one", "two", "three"], ["three", "four", "two"]]“.
Nächste Schritte
- Informationen zu einem Array mit Zeichenfolgenwerten, die durch einen Wert getrennt sind, finden Sie unter split.