Teilen über


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:

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:

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.