Compartir a través de


Operador de propagación de Bicep

El operador de propagación se usa para expandir una matriz o objeto iterable en elementos individuales. El operador de propagación permite manipular fácilmente matrices u objetos mediante la propagación de sus elementos o propiedades en nuevas matrices o objetos.

Spread

...

El operador de propagación se usa para copiar propiedades de un objeto a otro o para combinar matrices y objetos de forma concisa y legible.

Ejemplos

En el siguiente ejemplo se muestra el operador de propagación usado en un objeto :

var objA = { bar: 'bar' }
output objB object = { foo: 'foo', ...objA } 

Salida del ejemplo:

Nombre Tipo Valor
objB objeto { foo: 'foo', bar: 'bar' }

En el siguiente ejemplo se muestra el operador de propagación usado en una matriz:

var arrA = [ 2, 3 ]
output arrB array = [ 1, ...arrA, 4 ] 

Salida del ejemplo:

Nombre Tipo Value
arrB array [ 1, 2, 3, 4 ]

En el siguiente ejemplo se muestra la propagación usada varias veces en una sola operación:

var arrA = [ 2, 3 ]
output arrC array = [ 1, ...arrA, 4, ...arrA ] 

Salida del ejemplo:

Nombre Tipo Value
arrC array [ 1, 2, 3, 4, 2, 3 ]

En el siguiente ejemplo se muestra la propagación usada en una operación de varias líneas:

var objA = { foo: 'foo' }
var objB = { bar: 'bar' }
output combined object = { 
  ...objA
  ...objB
} 

En este uso, la coma no se usa entre las dos líneas. Salida del ejemplo:

Nombre Tipo Valor
combined objeto { foo: 'foo', bar: 'bar' }

La operación de propagación se puede usar para evitar establecer una propiedad opcional. Por ejemplo:

param vmImageResourceId string = ''

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

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

Salida del ejemplo:

Nombre Tipo Valor
foo objeto {"alwaysSet":"value"}

El ejemplo anterior también se puede escribir como:

param vmImageResourceId string = ''

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

Pasos siguientes