Matrixfuncties voor Bicep
In dit artikel worden de Bicep-functies beschreven voor het werken met matrices. De lambda-functies voor het werken met matrices vindt u hier.
matrix
array(convertToArray)
Converteert de waarde naar een matrix.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
convertToArray | Ja | int, tekenreeks, matrix of object | De waarde die moet worden geconverteerd naar een matrix. |
Retourwaarde
Een matrix.
Opmerking
In het volgende voorbeeld ziet u hoe u de matrixfunctie gebruikt met verschillende typen.
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)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
intOutput | Matrix | [1] |
stringOutput | Matrix | ["efgh"] |
objectOutput | Matrix | [{"a": "b", "c": "d"}] |
concat
concat(arg1, arg2, arg3, ...)
Combineert meerdere matrices en retourneert de samengevoegde matrix. Zie samenvoeging voor meer informatie over het combineren van meerdere tekenreeksen.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix | De eerste matrix voor samenvoeging. |
meer argumenten | Nee | matrix | Meer matrices in opeenvolgende volgorde voor samenvoeging. |
Deze functie gebruikt een willekeurig aantal matrices en combineert deze.
Retourwaarde
Een matrix met samengevoegde waarden.
Opmerking
In het volgende voorbeeld ziet u hoe u twee matrices combineert.
param firstArray array = [
'1-1'
'1-2'
'1-3'
]
param secondArray array = [
'2-1'
'2-2'
'2-3'
]
output return array = concat(firstArray, secondArray)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
enter | Matrix | ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"] |
bevat
contains(container, itemToFind)
Hiermee wordt gecontroleerd of een matrix een waarde bevat, een object een sleutel bevat of een tekenreeks een subtekenreeks bevat. De tekenreeksvergelijking is hoofdlettergevoelig. Wanneer u echter test of een object een sleutel bevat, is de vergelijking niet hoofdlettergevoelig.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
container | Ja | matrix, object of tekenreeks | De waarde die de te zoeken waarde bevat. |
itemToFind | Ja | tekenreeks of int | De te vinden waarde. |
Retourwaarde
Waar als het item wordt gevonden; anders onwaar.
Opmerking
In het volgende voorbeeld ziet u hoe u deze kunt gebruiken met verschillende 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')
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
stringTrue | Bool | Waar |
stringFalse | Bool | Onwaar |
objectTrue | Bool | Waar |
objectFalse | Bool | Onwaar |
arrayTrue | Bool | Waar |
arrayFalse | Bool | Onwaar |
empty
empty(itemToTest)
Bepaalt of een matrix, object of tekenreeks leeg of null is.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
itemToTest | Ja | matrix, object of tekenreeks | De waarde om te controleren of deze leeg of null is. |
Retourwaarde
Retourneert Waar als de waarde leeg of null is; anders onwaar.
Opmerking
In het volgende voorbeeld wordt gecontroleerd of een matrix, object en tekenreeks leeg zijn.
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)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayEmpty | Bool | Waar |
objectEmpty | Bool | Waar |
stringEmpty | Bool | Waar |
stringNull | Bool | Waar |
Quickstart-voorbeelden
Het volgende voorbeeld wordt geëxtraheerd uit een quickstart-sjabloon, Virtual Network met instellingen voor diagnostische logboeken:
@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
}
...
}
}
In de voorwaardelijke expressie wordt de lege functie gebruikt om te controleren of de dnsServers-matrix een lege matrix is.
Eerste
first(arg1)
Retourneert het eerste element van de matrix of het eerste teken van de tekenreeks.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix of tekenreeks | De waarde voor het ophalen van het eerste element of teken. |
Retourwaarde
Het type (tekenreeks, int, matrix of object) van het eerste element in een matrix of het eerste teken van een tekenreeks.
Opmerking
In het volgende voorbeeld ziet u hoe u de eerste functie gebruikt met een matrix en tekenreeks.
param arrayToTest array = [
'one'
'two'
'three'
]
output arrayOutput string = first(arrayToTest)
output stringOutput string = first('One Two Three')
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | String | één |
stringOutput | String | O |
pletten
flatten(arrayToFlatten)
Neemt een matrix van matrices en retourneert een matrix met submatrixelementen, in de oorspronkelijke volgorde. Submaarray's worden slechts eenmaal afgevlakt, niet recursief.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arrayToFlattern | Ja | matrix | De matrix van submatrixen om af te vlakken. |
Retourwaarde
Matrix
Opmerking
In het volgende voorbeeld ziet u hoe u de afgevlakte functie gebruikt.
param arrayToTest array = [
['one', 'two']
['three']
['four', 'five']
]
output arrayOutput array = flatten(arrayToTest)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | matrix | ['één', 'twee', 'drie', 'vier', 'vijf'] |
indexOf
indexOf(arrayToSearch, itemToFind)
Retourneert een geheel getal voor de index van het eerste exemplaar van een item in een matrix. De vergelijking is hoofdlettergevoelig voor tekenreeksen.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arrayToSearch | Ja | matrix | De matrix die moet worden gebruikt om de index van het gezochte item te zoeken. |
itemToFind | Ja | int, tekenreeks, matrix of object | Het item dat u in de matrix wilt zoeken. |
Retourwaarde
Een geheel getal dat de eerste index van het item in de matrix aangeeft. De index is gebaseerd op nul. Als het item niet wordt gevonden, wordt -1 geretourneerd.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de functies indexOf en lastIndexOf gebruikt:
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)
De uitvoer uit het voorgaande voorbeeld is:
Name | Type | Weergegeven als |
---|---|---|
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 |
kruispunt
intersection(arg1, arg2, arg3, ...)
Retourneert één matrix of object met de algemene elementen van de parameters.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix of object | De eerste waarde die moet worden gebruikt voor het vinden van algemene elementen. |
arg2 | Ja | matrix of object | De tweede waarde die moet worden gebruikt voor het vinden van algemene elementen. |
meer argumenten | Nee | matrix of object | Meer waarden die moeten worden gebruikt voor het vinden van algemene elementen. |
Retourwaarde
Een matrix of object met de gemeenschappelijke elementen. De volgorde van de elementen wordt bepaald door de eerste matrixparameter.
Opmerking
In het volgende voorbeeld ziet u hoe u snijpunt gebruikt met matrices en objecten:
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)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
objectOutput | Object | {"one": "a", "three": "c"} |
arrayOutput | Matrix | ["twee", "drie"] |
De eerste matrixparameter bepaalt de volgorde van de gekruiste elementen. In het volgende voorbeeld ziet u hoe de volgorde van de geretourneerde elementen is gebaseerd op welke matrix het eerst is.
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)
De uitvoer uit het voorgaande voorbeeld is:
Name | Type | Weergegeven als |
---|---|---|
commonUp | matrix | [1, 2, 3] |
commonDown | matrix | [3, 2, 1] |
Laatste
last(arg1)
Retourneert het laatste element van de matrix of het laatste teken van de tekenreeks.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix of tekenreeks | De waarde voor het ophalen van het laatste element of teken. |
Retourwaarde
Het type (tekenreeks, int, matrix of object) van het laatste element in een matrix of het laatste teken van een tekenreeks.
Opmerking
In het volgende voorbeeld ziet u hoe u de laatste functie gebruikt met een matrix en tekenreeks.
param arrayToTest array = [
'one'
'two'
'three'
]
output arrayOutput string = last(arrayToTest)
output stringOutput string = last('One Two three')
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | String | drie |
stringOutput | String | e |
lastIndexOf
lastIndexOf(arrayToSearch, itemToFind)
Retourneert een geheel getal voor de index van het laatste exemplaar van een item in een matrix. De vergelijking is hoofdlettergevoelig voor tekenreeksen.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arrayToSearch | Ja | matrix | De matrix die moet worden gebruikt om de index van het gezochte item te zoeken. |
itemToFind | Ja | int, tekenreeks, matrix of object | Het item dat u in de matrix wilt zoeken. |
Retourwaarde
Een geheel getal dat de laatste index van het item in de matrix aangeeft. De index is gebaseerd op nul. Als het item niet wordt gevonden, wordt -1 geretourneerd.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de functies indexOf en lastIndexOf gebruikt:
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)
De uitvoer uit het voorgaande voorbeeld is:
Name | Type | Weergegeven als |
---|---|---|
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)
Retourneert het aantal elementen in een matrix, tekens in een tekenreeks of eigenschappen op hoofdniveau in een object.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix, tekenreeks of object | De matrix die moet worden gebruikt voor het ophalen van het aantal elementen, de tekenreeks die moet worden gebruikt voor het ophalen van het aantal tekens of het object dat moet worden gebruikt voor het ophalen van het aantal eigenschappen op hoofdniveau. |
Retourwaarde
Een int.
Opmerking
In het volgende voorbeeld ziet u hoe u lengte gebruikt met een matrix en tekenreeks:
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)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayLength | Int | 3 |
stringLength | Int | 13 |
objectLength | Int | 4 |
Quickstart-voorbeelden
Het volgende voorbeeld wordt geëxtraheerd uit een quickstart-sjabloon, API Management implementeren in extern VNet met openbaar IP-adres :
@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)
...
}
In de voorwaardelijke expressie controleert de length
functie de lengte van de array availabilityZones .
Meer voorbeelden vindt u in deze quickstart Bicep-bestanden:
- Back-up maken van Resource Manager-VM's met recovery Services-kluis
- API Management implementeren in Beschikbaarheidszones
- Een firewall en firewallpolicy maken met regels en Ipgroups
- Een sandbox-installatie van Azure Firewall maken met zones
max
max(arg1)
Retourneert de maximumwaarde van een matrix met gehele getallen of een door komma's gescheiden lijst met gehele getallen.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix van gehele getallen of door komma's gescheiden lijst met gehele getallen | De verzameling om de maximumwaarde op te halen. |
Retourwaarde
Een int die de maximumwaarde vertegenwoordigt.
Opmerking
In het volgende voorbeeld ziet u hoe u max gebruikt met een matrix en een lijst met gehele getallen:
param arrayToTest array = [
0
3
2
5
4
]
output arrayOutput int = max(arrayToTest)
output intOutput int = max(0,3,2,5,4)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | Int | 5 |
intOutput | Int | 5 |
min.
min(arg1)
Retourneert de minimumwaarde van een matrix met gehele getallen of een door komma's gescheiden lijst met gehele getallen.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix van gehele getallen of door komma's gescheiden lijst met gehele getallen | De verzameling om de minimumwaarde op te halen. |
Retourwaarde
Een int die de minimumwaarde vertegenwoordigt.
Opmerking
In het volgende voorbeeld ziet u hoe u min gebruikt met een matrix en een lijst met gehele getallen:
param arrayToTest array = [
0
3
2
5
4
]
output arrayOutput int = min(arrayToTest)
output intOutput int = min(0,3,2,5,4)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | Int | 0 |
intOutput | Int | 0 |
range
range(startIndex, count)
Hiermee maakt u een matrix van gehele getallen op basis van een begin-geheel getal en met het aantal items.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
startIndex | Ja | int | Het eerste gehele getal in de matrix. De som van startIndex en het aantal mag niet groter zijn dan 2147483647. |
aantal | Ja | int | Het aantal gehele getallen in de matrix. Moet een niet-negatief geheel getal tot 10000 zijn. |
Retourwaarde
Een matrix met gehele getallen.
Opmerking
In het volgende voorbeeld ziet u hoe u de bereikfunctie gebruikt:
param startingInt int = 5
param numberOfElements int = 3
output rangeOutput array = range(startingInt, numberOfElements)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
rangeOutput | Matrix | [5, 6, 7] |
Quickstart-voorbeelden
Het volgende voorbeeld wordt geëxtraheerd uit een quickstart-sjabloon, twee VM's in VNET : interne load balancer en LB-regels :
...
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: {
...
}
}]
Het Bicep-bestand maakt twee networkInterface- en twee virtualMachine-resources.
Meer voorbeelden vindt u in deze quickstart Bicep-bestanden:
- Sjabloon voor meerdere VM's met beheerde schijf
- Een virtuele machine maken met meerdere lege StandardSSD_LRS gegevensschijven
- Een firewall en firewallpolicy maken met regels en Ipgroups
- Een Azure Firewall maken met IpGroups
- Een sandbox-installatie van Azure Firewall maken met zones
- Een Azure Firewall maken met meerdere openbare IP-adressen
- Een standaard load balancer maken
- Azure Traffic Manager VM-voorbeeld
- Een beveiligingsautomatisering maken voor specifieke waarschuwingen
- SQL Server-VM met opslaginstellingen die zijn geoptimaliseerd voor prestaties
- Een opslagaccount maken met meerdere Blob-containers
- Een opslagaccount maken met meerdere bestandsshares
skip
skip(originalValue, numberToSkip)
Retourneert een matrix met alle elementen na het opgegeven getal in de matrix of retourneert een tekenreeks met alle tekens na het opgegeven getal in de tekenreeks.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
originalValue | Ja | matrix of tekenreeks | De matrix of tekenreeks die moet worden gebruikt voor het overslaan. |
numberToSkip | Ja | int | Het aantal elementen of tekens dat moet worden overgeslagen. Als deze waarde 0 of minder is, worden alle elementen of tekens in de waarde geretourneerd. Als deze groter is dan de lengte van de matrix of tekenreeks, wordt een lege matrix of tekenreeks geretourneerd. |
Retourwaarde
Een matrix of tekenreeks.
Opmerking
In het volgende voorbeeld wordt het opgegeven aantal elementen in de matrix en het opgegeven aantal tekens in een tekenreeks overgeslagen.
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)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | Matrix | ["drie"] |
stringOutput | String | twee drie |
take
take(originalValue, numberToTake)
Retourneert een matrix met het opgegeven aantal elementen vanaf het begin van de matrix of een tekenreeks met het opgegeven aantal tekens vanaf het begin van de tekenreeks.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
originalValue | Ja | matrix of tekenreeks | De matrix of tekenreeks waaruit de elementen moeten worden opgehaald. |
numberToTake | Ja | int | Het aantal elementen of tekens dat moet worden gebruikt. Als deze waarde 0 of minder is, wordt een lege matrix of tekenreeks geretourneerd. Als deze groter is dan de lengte van de opgegeven matrix of tekenreeks, worden alle elementen in de matrix of tekenreeks geretourneerd. |
Retourwaarde
Een matrix of tekenreeks.
Opmerking
In het volgende voorbeeld wordt het opgegeven aantal elementen uit de matrix en tekens uit een tekenreeks gebruikt.
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)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
arrayOutput | Matrix | ["één", "twee"] |
stringOutput | String | op |
union
union(arg1, arg2, arg3, ...)
Retourneert één matrix of object met alle elementen uit de parameters. Voor matrices worden dubbele waarden eenmaal opgenomen. Voor objecten worden dubbele eigenschapsnamen slechts eenmaal opgenomen.
Naamruimte: sys.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | matrix of object | De eerste waarde die moet worden gebruikt voor het samenvoegen van elementen. |
arg2 | Ja | matrix of object | De tweede waarde die moet worden gebruikt voor het samenvoegen van elementen. |
meer argumenten | Nee | matrix of object | Meer waarden die moeten worden gebruikt voor het samenvoegen van elementen. |
Retourwaarde
Een matrix of object.
Opmerkingen
De samenvoegfunctie gebruikt de volgorde van de parameters om de volgorde en waarden van het resultaat te bepalen.
Voor matrices doorloopt de functie elk element in de eerste parameter en voegt deze toe aan het resultaat als deze nog niet aanwezig is. Vervolgens wordt het proces voor de tweede parameter en eventuele parameters herhaald. Als een waarde al aanwezig is, blijft de eerdere plaatsing in de matrix behouden.
Voor objecten worden eigenschapsnamen en -waarden uit de eerste parameter toegevoegd aan het resultaat. Voor latere parameters worden eventuele nieuwe namen toegevoegd aan het resultaat. Als een latere parameter een eigenschap met dezelfde naam heeft, overschrijft die waarde de bestaande waarde. De volgorde van de eigenschappen wordt niet gegarandeerd.
De samenvoegfunctie voegt niet alleen de elementen op het hoogste niveau samen, maar voegt ook recursief alle geneste objecten daarin samen. Geneste matrixwaarden worden niet samengevoegd. Zie het tweede voorbeeld in de volgende sectie.
Opmerking
In het volgende voorbeeld ziet u hoe u samenvoeging gebruikt met matrices en objecten:
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)
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
objectOutput | Object | {"one": "a", "two": "b", "three": "c2", "four": "d", "five": "e"} |
arrayOutput | Matrix | ["één", "twee", "drie", "vier"] |
In het volgende voorbeeld ziet u de uitgebreide samenvoegfunctie:
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)
De uitvoer uit het voorgaande voorbeeld is:
Name | Type | Weergegeven als |
---|---|---|
objectOutput | Object | {"property":{"one":"a","two":"b","three":"c2","four":"d","five":"e"},"nestedArray":[3,4]} |
arrayOutput | Matrix | [["één","twee"],["drie"],["vier","twee"]] |
Als geneste matrices zijn samengevoegd, is de waarde van objectOutput.nestedArray [1, 2, 3, 4] en de waarde van arrayOutput [["one", "two", "three",["three", "four", "two"]].
Volgende stappen
- Als u een matrix met tekenreekswaarden wilt ophalen die zijn gescheiden door een waarde, raadpleegt u split.