Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Operator spread digunakan untuk memperluas array atau objek yang dapat diulang ke dalam elemen individual. Operator spread memungkinkan Anda memanipulasi array atau objek dengan mudah dengan menyebarkan elemen atau propertinya ke dalam array atau objek baru.
Sebar
...
Operator spread digunakan untuk menyalin properti dari satu objek ke objek lainnya atau untuk menggabungkan array dan objek dengan cara yang ringkas dan dapat dibaca.
Contoh
Contoh berikut menunjukkan operator spread yang digunakan dalam objek:
var objA = { color: 'white' }
output objB object = { shape: 'circle', ...objA }
Output dari contoh:
| Nama | Jenis | Nilai |
|---|---|---|
objB |
objek | { shape: 'circle', color: 'white' } |
Contoh berikut menunjukkan operator spread yang digunakan dalam array:
var arrA = [ 2, 3 ]
output arrB array = [ 1, ...arrA, 4 ]
Output dari contoh:
| Nama | Jenis | Nilai |
|---|---|---|
arrB |
array | [ 1, 2, 3, 4 ] |
Contoh berikut menunjukkan spread yang digunakan beberapa kali dalam satu operasi:
var arrA = [ 2, 3 ]
output arrC array = [ 1, ...arrA, 4, ...arrA ]
Output dari contoh:
| Nama | Jenis | Nilai |
|---|---|---|
arrC |
array | [ 1, 2, 3, 4, 2, 3 ] |
Contoh berikut menunjukkan spread yang digunakan dalam operasi multibaris:
var objA = { color: 'white' }
var objB = { shape: 'circle'}
output objCombined object = {
...objA
...objB
}
Dalam penggunaan ini, koma tidak digunakan di antara dua baris. Output dari contoh:
| Nama | Jenis | Nilai |
|---|---|---|
objCombined |
objek | { warna: 'putih', bentuk: 'lingkaran' } |
Contoh berikut menunjukkan cara menambahkan elemen array secara kondisional:
@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})
Output dari contoh:
| Nama | Jenis | Nilai |
|---|---|---|
objB |
objek | { shape: 'circle', color: 'black' } |
Operasi penyebaran dapat digunakan untuk menghindari pengaturan properti opsional. Dalam contoh berikut, accessTier diatur hanya jika tingkat parameter bukan string kosong.
param location string = resourceGroup().location
param tier string = 'Hot'
var storageAccountName = uniqueString(resourceGroup().id)
var accessTier = tier != '' ? {accessTier: tier} : {}
resource mystorage 'Microsoft.Storage/storageAccounts@2025-06-01' = {
name: storageAccountName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
...accessTier
}
}
Contoh sebelumnya juga dapat ditulis sebagai:
param location string = resourceGroup().location
param tier string = 'Hot'
var storageAccountName = uniqueString(resourceGroup().id)
resource mystorage 'Microsoft.Storage/storageAccounts@2025-06-01' = {
name: storageAccountName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
...(tier != '' ? {accessTier: tier} : {})
}
}
Operator spread dapat digunakan untuk mengambil alih properti yang ada.
param location string = resourceGroup().location
param storageProperties {
accessTier: string?
}
resource mystorage 'Microsoft.Storage/storageAccounts@2025-06-01' = {
name: uniqueString(resourceGroup().id)
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
accessTier: 'Cold'
...storageProperties
}
}
Langkah berikutnya
- Untuk menjalankan contoh, gunakan Azure CLI atau Azure PowerShell untuk menyebarkan file Bicep.
- Untuk membuat file Bicep, lihat Mulai cepat: Membuat file Bicep dengan Visual Studio Code.
- Untuk informasi tentang cara mengatasi kesalahan jenis Bicep, lihat Fungsi untuk Bicep.