Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der spread-Operator wird verwendet, um ein iterierbares Array oder Objekt auf einzelne Elemente zu erweitern. Mit dem spread-Operator können Sie Arrays oder Objekte ganz einfach bearbeiten, indem Sie ihre Elemente oder Eigenschaften auf neue Arrays oder Objekte verteilen.
Spread
...
Der Spread-Operator wird verwendet, um Eigenschaften aus einem Objekt in ein anderes zu kopieren oder Arrays und Objekte präzise und lesbar zusammenzuführen.
Beispiele
Das folgende Beispiel zeigt die Verwendung des spread-Operators in einem Objekt:
var objA = { color: 'white' }
output objB object = { shape: 'circle', ...objA }
Ausgabe des Beispiels:
Name | type | Wert |
---|---|---|
objB |
Objekt | { shape: 'circle', color: 'white' } |
Das folgende Beispiel zeigt die Verwendung des spread-Operators in einem Array:
var arrA = [ 2, 3 ]
output arrB array = [ 1, ...arrA, 4 ]
Ausgabe des Beispiels:
Name | type | Wert |
---|---|---|
arrB |
array | [ 1, 2, 3, 4 ] |
Das folgende Beispiel zeigt die Mehrfachverwendung von „spread“ in einem einzelnen Vorgang:
var arrA = [ 2, 3 ]
output arrC array = [ 1, ...arrA, 4, ...arrA ]
Ausgabe des Beispiels:
Name | type | Wert |
---|---|---|
arrC |
array | [ 1, 2, 3, 4, 2, 3 ] |
Das folgende Beispiel zeigt die Verwendung von „spread“ in einem mehrzeiligen Vorgang:
var objA = { color: 'white' }
var objB = { shape: 'circle'}
output objCombined object = {
...objA
...objB
}
In diesem Anwendungsfall wird zwischen den beiden Zeilen kein Komma eingefügt. Ausgabe des Beispiels:
Name | type | Wert |
---|---|---|
objCombined |
Objekt | { color: 'white', shape: 'circle' } |
Das folgende Beispiel zeigt, wie Sie ein Arrayelement bedingt hinzufügen:
@allowed(['white', 'black'])
param color string = 'black'
var colorWhite = { color: 'white' }
var colorBlack = { color: 'black' }
output objB object = ((color == 'white')? { shape: 'circle', ...colorWhite} : { shape: 'circle', ...colorBlack})
Ausgabe des Beispiels:
Name | type | Wert |
---|---|---|
objB |
Objekt | { shape: 'circle', color: 'black' } |
Der spread-Vorgang kann dazu verwendet werden, das Festlegen einer optionalen Eigenschaft zu vermeiden. Im folgenden Beispiel wird accessTier nur festgelegt, wenn der Parameter Ebene keine leere Zeichenfolge ist.
param ___location string = resourceGroup().___location
param tier string = 'Hot'
var storageAccountName = uniqueString(resourceGroup().id)
var accessTier = tier != '' ? {accessTier: tier} : {}
resource mystorage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: storageAccountName
___location: ___location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
...accessTier
}
}
Das obige Beispiel kann auch wie folgt geschrieben werden:
param ___location string = resourceGroup().___location
param tier string = 'Hot'
var storageAccountName = uniqueString(resourceGroup().id)
resource mystorage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: storageAccountName
___location: ___location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
...(tier != '' ? {accessTier: tier} : {})
}
}
Der Überfüllungsoperator kann zum Außerkraftsetzen vorhandener Eigenschaften verwendet werden.
param ___location string = resourceGroup().___location
param storageProperties {
accessTier: string?
}
resource mystorage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: uniqueString(resourceGroup().id)
___location: ___location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
accessTier: 'Cold'
...storageProperties
}
}
Nächste Schritte
- Verwenden Sie zum Ausführen der Beispiele die Azure CLI oder Azure PowerShell, um eine Bicep-Datei bereitzustellen.
- Informationen zum Erstellen einer Bicep-Datei finden Sie unter Schnellstart: Erstellen von Bicep-Dateien mit Visual Studio Code.
- Informationen zum Beheben von Bicep-Typfehlern finden Sie unter any-Funktion für Bicep.