Teilen über


Bicep-Operator „spread“

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 = { bar: 'bar' }
output objB object = { foo: 'foo', ...objA } 

Ausgabe des Beispiels:

Name type Wert
objB Objekt { foo: 'foo', bar: 'bar' }

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 = { foo: 'foo' }
var objB = { bar: 'bar' }
output combined object = { 
  ...objA
  ...objB
} 

In diesem Anwendungsfall wird zwischen den beiden Zeilen kein Komma eingefügt. Ausgabe des Beispiels:

Name type Wert
combined Objekt { foo: 'foo', bar: 'bar' }

Der spread-Vorgang kann dazu verwendet werden, das Festlegen einer optionalen Eigenschaft zu vermeiden. Zum Beispiel:

param vmImageResourceId string = ''

var bar = vmImageResourceId != '' ? {
  id: vmImageResourceId
} : {}

output foo object = {
  ...bar
  alwaysSet: 'value'
}

Ausgabe des Beispiels:

Name type Wert
foo Objekt {"alwaysSet":"value"}

Das obige Beispiel kann auch wie folgt geschrieben werden:

param vmImageResourceId string = ''

output foo object = {
  ...(vmImageResourceId != '' ? {
    id: vmImageResourceId
  } : {})
  alwaysSet: 'value'
}

Nächste Schritte