Fungsi array untuk templat ARM

Artikel ini menjelaskan fungsi templat untuk bekerja dengan array.

Untuk mendapatkan array nilai string yang dibatasi oleh nilai, lihat memisahkan.

Tip

Kami merekomendasikan Bicep karena menawarkan kemampuan yang sama dengan templat ARM dan sintaksnya lebih mudah digunakan. Untuk mempelajari selengkapnya, lihat fungsi array.

array

array(convertToArray)

Mengonversi nilai menjadi array.

Di Bicep, gunakan fungsi array.

Parameter

Parameter Wajib Tipe Deskripsi
convertToArray Ya int, string, array, atau objek Nilai untuk dikonversi menjadi array.

Nilai hasil

Array.

Contoh

Contoh berikut menunjukkan cara menggunakan fungsi array dengan jenis yang berbeda.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "intToConvert": {
      "type": "int",
      "defaultValue": 1
    },
    "stringToConvert": {
      "type": "string",
      "defaultValue": "efgh"
    },
    "objectToConvert": {
      "type": "object",
      "defaultValue": {
        "a": "b",
        "c": "d"
      }
    }
  },
  "resources": [
  ],
  "outputs": {
    "intOutput": {
      "type": "array",
      "value": "[array(parameters('intToConvert'))]"
    },
    "stringOutput": {
      "type": "array",
      "value": "[array(parameters('stringToConvert'))]"
    },
    "objectOutput": {
      "type": "array",
      "value": "[array(parameters('objectToConvert'))]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
intOutput Array [1]
stringOutput Array ["efgh"]
objectOutput Array [{"a": "b", "c": "d"}]

concat

concat(arg1, arg2, arg3, ...)

Menggabungkan beberapa nilai array dan mengembalikan array yang digabungkan, atau menggabungkan beberapa string dan mengembalikan string yang digabungkan.

Di Bicep, gunakan fungsi concat.

Parameter

Parameter Wajib Tipe Deskripsi
arg1 Ya array atau string Array atau string pertama untuk perangkaian.
lebih banyak argumen No array atau string Lebih banyak array atau untai (karakter) dalam urutan yang berurutan untuk perangkaian.

Fungsi ini dapat mengambil sejumlah argumen, dan dapat menerima string atau array untuk parameter. Namun, Anda tidak dapat menyediakan array dan string untuk parameter. Array hanya digabungkan dengan array lainnya.

Nilai hasil

String atau array nilai yang digabungkan.

Contoh

Contoh berikut menunjukkan cara menggabungkan dua array.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "firstArray": {
      "type": "array",
      "defaultValue": [
        "1-1",
        "1-2",
        "1-3"
      ]
    },
    "secondArray": {
      "type": "array",
      "defaultValue": [
        "2-1",
        "2-2",
        "2-3"
      ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "return": {
      "type": "array",
      "value": "[concat(parameters('firstArray'), parameters('secondArray'))]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
return Array ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"]

Contoh berikut menunjukkan cara menggabungkan dua nilai string dan mengembalikan string gabungan.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "prefix": {
      "type": "string",
      "defaultValue": "prefix"
    }
  },
  "resources": [],
  "outputs": {
    "concatOutput": {
      "type": "string",
      "value": "[concat(parameters('prefix'), '-', uniqueString(resourceGroup().id))]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
concatOutput String prefix-5yj4yjf5mbg72

mengandung

contains(container, itemToFind)

Memeriksa apakah array berisi nilai, objek berisi kunci, atau untai (karakter) berisi sub-untai (karakter). Perbandingan untai (karakter) peka terhadap huruf besar/kecil. Namun, ketika pengujian, jika objek berisi kunci, perbandingannya tidak peka huruf besar/kecil.

Di Bicep, gunakan fungsi contains.

Parameter

Parameter Wajib Tipe Deskripsi
kontainer Ya array, objek, atau string Nilai yang berisi nilai untuk ditemukan.
itemToFind Ya string atau int Nilai untuk ditemukan.

Nilai hasil

Benar jika item ditemukan; jika tidak, Salah.

Contoh

Contoh berikut menunjukkan cara menggunakan berisi dengan jenis yang berbeda:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringToTest": {
      "type": "string",
      "defaultValue": "OneTwoThree"
    },
    "objectToTest": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "b",
        "three": "c"
      }
    },
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "stringTrue": {
      "type": "bool",
      "value": "[contains(parameters('stringToTest'), 'e')]"
    },
    "stringFalse": {
      "type": "bool",
      "value": "[contains(parameters('stringToTest'), 'z')]"
    },
    "objectTrue": {
      "type": "bool",
      "value": "[contains(parameters('objectToTest'), 'one')]"
    },
    "objectFalse": {
      "type": "bool",
      "value": "[contains(parameters('objectToTest'), 'a')]"
    },
    "arrayTrue": {
      "type": "bool",
      "value": "[contains(parameters('arrayToTest'), 'three')]"
    },
    "arrayFalse": {
      "type": "bool",
      "value": "[contains(parameters('arrayToTest'), 'four')]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
stringTrue Bool Benar
stringFalse Bool Salah
objectTrue Bool Benar
objectFalse Bool Salah
arrayTrue Bool Benar
arrayFalse Bool Salah

createArray

createArray(arg1, arg2, arg3, ...)

Membuat array dari parameter.

Di Bicep, fungsi createArray tidak didukung. Untuk membuat array, lihat jenis data array Bicep.

Parameter

Parameter Wajib Tipe Deskripsi
argumen No String, Bilangan Bulat, Array, atau Objek Nilai dalam array.

Nilai hasil

Array. Ketika tidak ada parameter yang disediakan, parameter akan mengembalikan array kosong.

Contoh

Contoh berikut menunjukkan cara menggunakan createArray dengan jenis yang berbeda:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "objectToTest": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "b",
        "three": "c"
      }
    },
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "stringArray": {
      "type": "array",
      "value": "[createArray('a', 'b', 'c')]"
    },
    "intArray": {
      "type": "array",
      "value": "[createArray(1, 2, 3)]"
    },
    "objectArray": {
      "type": "array",
      "value": "[createArray(parameters('objectToTest'))]"
    },
    "arrayArray": {
      "type": "array",
      "value": "[createArray(parameters('arrayToTest'))]"
    },
    "emptyArray": {
      "type": "array",
      "value": "[createArray()]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
stringArray Array ["a", "b", "c"]
intArray Array [1, 2, 3]
objectArray Array [{"one": "a", "two": "b", "three": "c"}]
arrayArray Array [["one", "two", "three"]]
emptyArray Array []

kosong

empty(itemToTest)

Menentukan apakah array, objek, atau untai (karakter) kosong.

Di Bicep, gunakan fungsi empty.

Parameter

Parameter Wajib Tipe Deskripsi
itemToTest Ya array, objek, atau string Nilai untuk memeriksa apakah nilainya kosong.

Nilai hasil

Kembalikan Benar jika nilainya kosong; jika tidak, Salah.

Contoh

Contoh berikut ini memeriksa apakah array, objek, dan string kosong.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testArray": {
      "type": "array",
      "defaultValue": []
    },
    "testObject": {
      "type": "object",
      "defaultValue": {}
    },
    "testString": {
      "type": "string",
      "defaultValue": ""
    }
  },
  "resources": [
  ],
  "outputs": {
    "arrayEmpty": {
      "type": "bool",
      "value": "[empty(parameters('testArray'))]"
    },
    "objectEmpty": {
      "type": "bool",
      "value": "[empty(parameters('testObject'))]"
    },
    "stringEmpty": {
      "type": "bool",
      "value": "[empty(parameters('testString'))]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
arrayEmpty Bool Benar
objectEmpty Bool Benar
stringEmpty Bool Benar

pertama

first(arg1)

Mengembalikan elemen pertama dari array, atau karakter pertama string.

Di Bicep, gunakan fungsi first.

Parameter

Parameter Wajib Tipe Deskripsi
arg1 Ya array atau string Nilai untuk mengambil elemen atau karakter pertama.

Nilai hasil

Jenis (string, int, array, atau objek) dari elemen pertama dalam array, atau karakter pertama dari string.

Contoh

Contoh berikut menunjukkan cara menggunakan fungsi pertama dengan array dan string.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "arrayOutput": {
      "type": "string",
      "value": "[first(parameters('arrayToTest'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[first('One Two Three')]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
arrayOutput String satu
stringOutput String O

indexOf

indexOf(arrayToSearch, itemToFind)

Mengembalikan bilangan bulat untuk indeks kemunculan pertama item dalam array. Perbandingannya adalah peka huruf besar/kecil untuk string.

Parameter

Parameter Wajib Tipe Deskripsi
arrayToSearch Ya array Array yang digunakan untuk menemukan indeks item yang dicari.
itemToFind Ya int, string, array, atau objek Item yang dicari dalam array.

Nilai hasil

Bilangan bulat yang mewakili indeks pertama item dalam array. Indeks berbasis nol. Jika item tidak ditemukan, -1 dikembalikan.

Contoh

Contoh berikut memperlihatkan cara menggunakan fungsi indexOf dan lastIndexOf:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "names": [
      "one",
      "two",
      "three"
    ],
    "numbers": [
      4,
      5,
      6
    ],
    "collection": [
      "[variables('names')]",
      "[variables('numbers')]"
    ],
    "duplicates": [
      1,
      2,
      3,
      1
    ]
  },
  "resources": [],
  "outputs": {
    "index1": {
      "type": "int",
      "value": "[lastIndexOf(variables('names'), 'two')]"
    },
    "index2": {
      "type": "int",
      "value": "[indexOf(variables('names'), 'one')]"
    },
    "notFoundIndex1": {
      "type": "int",
      "value": "[lastIndexOf(variables('names'), 'Three')]"
    },
    "index3": {
      "type": "int",
      "value": "[lastIndexOf(variables('numbers'), 4)]"
    },
    "index4": {
      "type": "int",
      "value": "[indexOf(variables('numbers'), 6)]"
    },
    "notFoundIndex2": {
      "type": "int",
      "value": "[lastIndexOf(variables('numbers'), '5')]"
    },
    "index5": {
      "type": "int",
      "value": "[indexOf(variables('collection'), variables('numbers'))]"
    },
    "index6": {
      "type": "int",
      "value": "[indexOf(variables('duplicates'), 1)]"
    },
    "index7": {
      "type": "int",
      "value": "[lastIndexOf(variables('duplicates'), 1)]"
    }
  }
}

Output dari contoh sebelumnya adalah:

Nama Jenis Nilai
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

persimpangan

intersection(arg1, arg2, arg3, ...)

Mengembalikan satu array atau objek dengan elemen umum dari parameter.

Di Bicep, gunakan fungsi intersection.

Parameter

Parameter Wajib Tipe Deskripsi
arg1 Ya array atau objek Nilai pertama yang digunakan untuk menemukan elemen umum.
arg2 Ya array atau objek Nilai kedua yang digunakan untuk menemukan elemen umum.
lebih banyak argumen No array atau objek Lebih banyak nilai yang digunakan untuk menemukan elemen umum.

Nilai hasil

Array atau objek dengan elemen umum.

Contoh

Contoh berikut menunjukkan cara menggunakan persimpangan dengan array dan objek.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "firstObject": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "b",
        "three": "c"
      }
    },
    "secondObject": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "z",
        "three": "c"
      }
    },
    "firstArray": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    },
    "secondArray": {
      "type": "array",
      "defaultValue": [ "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "objectOutput": {
      "type": "object",
      "value": "[intersection(parameters('firstObject'), parameters('secondObject'))]"
    },
    "arrayOutput": {
      "type": "array",
      "value": "[intersection(parameters('firstArray'), parameters('secondArray'))]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
objectOutput Objek {"one": "a", "three": "c"}
arrayOutput Array ["two", "three"]

terakhir

last(arg1)

Mengembalikan elemen terakhir dari array, atau karakter terakhir dari string.

Di Bicep, gunakan fungsi last.

Parameter

Parameter Wajib Tipe Deskripsi
arg1 Ya array atau string Nilai untuk mengambil elemen atau karakter terakhir.

Nilai hasil

Jenis (string, int, array, atau objek) dari elemen terakhir dalam array, atau karakter terakhir dari string.

Contoh

Contoh berikut menunjukkan cara menggunakan fungsi terakhir dengan array dan string.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "arrayOutput": {
      "type": "string",
      "value": "[last(parameters('arrayToTest'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[last('One Two Three')]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
arrayOutput String tiga
stringOutput String e

lastIndexOf

lastIndexOf(arrayToSearch, itemToFind)

Mengembalikan bilangan bulat untuk indeks kemunculan terakhir item dalam array. Perbandingannya adalah peka huruf besar/kecil untuk string.

Parameter

Parameter Wajib Tipe Deskripsi
arrayToSearch Ya array Array yang digunakan untuk menemukan indeks item yang dicari.
itemToFind Ya int, string, array, atau objek Item yang dicari dalam array.

Nilai hasil

Bilangan bulat yang mewakili indeks terakhir item dalam array. Indeks berbasis nol. Jika item tidak ditemukan, -1 dikembalikan.

Contoh

Contoh berikut memperlihatkan cara menggunakan fungsi indexOf dan lastIndexOf:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "names": [
      "one",
      "two",
      "three"
    ],
    "numbers": [
      4,
      5,
      6
    ],
    "collection": [
      "[variables('names')]",
      "[variables('numbers')]"
    ],
    "duplicates": [
      1,
      2,
      3,
      1
    ]
  },
  "resources": [],
  "outputs": {
    "index1": {
      "type": "int",
      "value": "[lastIndexOf(variables('names'), 'two')]"
    },
    "index2": {
      "type": "int",
      "value": "[indexOf(variables('names'), 'one')]"
    },
    "notFoundIndex1": {
      "type": "int",
      "value": "[lastIndexOf(variables('names'), 'Three')]"
    },
    "index3": {
      "type": "int",
      "value": "[lastIndexOf(variables('numbers'), 4)]"
    },
    "index4": {
      "type": "int",
      "value": "[indexOf(variables('numbers'), 6)]"
    },
    "notFoundIndex2": {
      "type": "int",
      "value": "[lastIndexOf(variables('numbers'), '5')]"
    },
    "index5": {
      "type": "int",
      "value": "[indexOf(variables('collection'), variables('numbers'))]"
    },
    "index6": {
      "type": "int",
      "value": "[indexOf(variables('duplicates'), 1)]"
    },
    "index7": {
      "type": "int",
      "value": "[lastIndexOf(variables('duplicates'), 1)]"
    }
  }
}

Output dari contoh sebelumnya adalah:

Nama Jenis Nilai
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)

Mengembalikan jumlah elemen dalam array, karakter dalam untai (karakter), atau properti tingkat root dalam objek.

Di Bicep, gunakan fungsi length.

Parameter

Parameter Wajib Tipe Deskripsi
arg1 Ya array, untai (karakter), atau objek Array yang digunakan untuk mendapatkan jumlah elemen, untai (karakter) yang digunakan untuk mendapatkan jumlah karakter, atau objek yang digunakan untuk mendapatkan jumlah properti tingkat root.

Nilai hasil

Int.

Contoh

Contoh berikut menunjukkan cara menggunakan panjang dengan array dan untai (karakter).

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [
        "one",
        "two",
        "three"
      ]
    },
    "stringToTest": {
      "type": "string",
      "defaultValue": "One Two Three"
    },
    "objectToTest": {
      "type": "object",
      "defaultValue": {
        "propA": "one",
        "propB": "two",
        "propC": "three",
        "propD": {
          "propD-1": "sub",
          "propD-2": "sub"
        }
      }
    }
  },
  "resources": [],
  "outputs": {
    "arrayLength": {
      "type": "int",
      "value": "[length(parameters('arrayToTest'))]"
    },
    "stringLength": {
      "type": "int",
      "value": "[length(parameters('stringToTest'))]"
    },
    "objectLength": {
      "type": "int",
      "value": "[length(parameters('objectToTest'))]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
arrayLength Int 3
stringLength Int 13
objectLength Int 4

Anda bisa menggunakan fungsi ini dengan array untuk menentukan jumlah iterasi saat membuat sumber daya. Dalam contoh berikut, parameter siteNames akan merujuk ke array nama yang akan digunakan saat membuat situs web.

"copy": {
  "name": "websitescopy",
  "count": "[length(parameters('siteNames'))]"
}

Untuk informasi selengkapnya tentang menggunakan fungsi ini dengan array, lihat Iterasi sumber daya dalam templat ARM.

maks

max(arg1)

Mengembalikan nilai maksimum dari array bilangan bulat atau daftar bilangan bulat yang dipisahkan koma.

Di Bicep, gunakan fungsi max.

Parameter

Parameter Wajib Tipe Deskripsi
arg1 Ya array bilangan bulat, atau daftar bilangan bulat yang dipisahkan koma Kumpulan untuk mendapatkan nilai maksimum.

Nilai hasil

Int yang mewakili nilai maksimum.

Contoh

Contoh berikut menunjukkan cara menggunakan maks dengan array dan daftar bilangan bulat.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ 0, 3, 2, 5, 4 ]
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "int",
      "value": "[max(parameters('arrayToTest'))]"
    },
    "intOutput": {
      "type": "int",
      "value": "[max(0,3,2,5,4)]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
arrayOutput Int 5
intOutput Int 5

min

min(arg1)

Mengembalikan nilai minimum dari array bilangan bulat atau daftar bilangan bulat yang dipisahkan koma.

Di Bicep, gunakan fungsi min.

Parameter

Parameter Wajib Tipe Deskripsi
arg1 Ya array bilangan bulat, atau daftar bilangan bulat yang dipisahkan koma Kumpulan untuk mendapatkan nilai minimum.

Nilai hasil

Int yang mewakili nilai maksimum.

Contoh

Contoh berikut menunjukkan cara menggunakan min dengan array dan daftar bilangan bulat.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ 0, 3, 2, 5, 4 ]
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "int",
      "value": "[min(parameters('arrayToTest'))]"
    },
    "intOutput": {
      "type": "int",
      "value": "[min(0,3,2,5,4)]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
arrayOutput Int 0
intOutput Int 0

rentang

range(startIndex, count)

Membuat array bilangan bulat dari bilangan bulat awal dan berisi sejumlah item.

Di Bicep, gunakan fungsi range.

Parameter

Parameter Wajib Tipe Deskripsi
startIndex Ya int Bilangan bulat pertama dalam array. Jumlah startIndex dan hitungan harus tidak lebih besar dari 2147483647.
jumlah Ya int Jumlah bilangan bulat dalam array. Harus bilangan bulat non-negatif hingga 10000.

Nilai hasil

Array bilangan bulat.

Contoh

Contoh berikut menunjukkan cara menggunakan fungsi rentang.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "startingInt": {
      "type": "int",
      "defaultValue": 5
    },
    "numberOfElements": {
      "type": "int",
      "defaultValue": 3
    }
  },
  "resources": [],
  "outputs": {
    "rangeOutput": {
      "type": "array",
      "value": "[range(parameters('startingInt'),parameters('numberOfElements'))]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
rangeOutput Array [5, 6, 7]

skip

skip(originalValue, numberToSkip)

Mengembalikan array dengan semua elemen setelah nomor yang ditentukan dalam array, atau mengembalikan string dengan semua karakter setelah nomor yang ditentukan dalam string.

Di Bicep, gunakan fungsi skip.

Parameter

Parameter Wajib Tipe Deskripsi
originalValue Ya array atau string Array atau string yang digunakan untuk melompati.
numberToSkip Ya int Jumlah elemen atau karakter yang akan dilompati. Jika nilai ini adalah 0 atau kurang, semua elemen atau karakter dalam nilai dikembalikan. Jika lebih besar dari panjang array atau string, array atau string kosong akan dikembalikan.

Nilai hasil

Array atau string.

Contoh

Contoh berikut melompati jumlah elemen yang ditentukan dalam array, dan jumlah karakter yang ditentukan dalam string.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testArray": {
      "type": "array",
      "defaultValue": [
        "one",
        "two",
        "three"
      ]
    },
    "elementsToSkip": {
      "type": "int",
      "defaultValue": 2
    },
    "testString": {
      "type": "string",
      "defaultValue": "one two three"
    },
    "charactersToSkip": {
      "type": "int",
      "defaultValue": 4
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "array",
      "value": "[skip(parameters('testArray'),parameters('elementsToSkip'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[skip(parameters('testString'),parameters('charactersToSkip'))]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
arrayOutput Array ["three"]
stringOutput String dua tiga

take

take(originalValue, numberToTake)

Mengembalikan array atau string. Array memiliki jumlah elemen yang ditentukan sejak awal array. Sebuah string memiliki jumlah karakter yang ditentukan dari awal string.

Di Bicep, gunakan fungsi take.

Parameter

Parameter Wajib Tipe Deskripsi
originalValue Ya array atau string Array atau string untuk mengambil elemen.
numberToTake Ya int Jumlah elemen atau karakter yang akan diambil. Jika nilai ini adalah 0 atau kurang, array atau string kosong dikembalikan. Jika lebih besar dari panjang array atau string yang diberikan, semua elemen dalam array atau string dikembalikan.

Nilai hasil

Array atau string.

Contoh

Contoh berikut mengambil jumlah elemen yang ditentukan dari array, dan karakter dari string.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testArray": {
      "type": "array",
      "defaultValue": [
        "one",
        "two",
        "three"
      ]
    },
    "elementsToTake": {
      "type": "int",
      "defaultValue": 2
    },
    "testString": {
      "type": "string",
      "defaultValue": "one two three"
    },
    "charactersToTake": {
      "type": "int",
      "defaultValue": 2
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "array",
      "value": "[take(parameters('testArray'),parameters('elementsToTake'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[take(parameters('testString'),parameters('charactersToTake'))]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
arrayOutput Array ["one", "two"]
stringOutput String aktif

penyatuan

union(arg1, arg2, arg3, ...)

Mengembalikan satu array atau objek dengan semua elemen dari parameter. Untuk array, nilai duplikat disertakan sekali. Untuk objek, nama properti duplikat hanya disertakan sekali.

Di Bicep, gunakan fungsi union.

Parameter

Parameter Wajib Tipe Deskripsi
arg1 Ya array atau objek Nilai pertama yang digunakan untuk menggabungkan elemen.
arg2 Ya array atau objek Nilai kedua yang digunakan untuk menggabungkan elemen.
lebih banyak argumen No array atau objek Lebih banyak nilai yang digunakan untuk menggabungkan elemen.

Nilai hasil

Array atau objek.

Keterangan

Fungsi penyatuan menggunakan urutan parameter untuk menentukan urutan dan nilai hasil.

Untuk array, fungsi akan muncul di setiap elemen dalam parameter pertama dan menambahkannya ke hasil jika belum tersedia. Kemudian, fungsi tersebut mengulangi proses untuk parameter kedua serta parameter lainnya. Jika nilai sudah tersedia, penempatan sebelumnya dalam array dipertahankan.

Untuk objek, nilai dan nama properti dari parameter pertama ditambahkan ke hasil. Untuk parameter selanjutnya, setiap nama baru akan ditambahkan ke hasil. Jika parameter berikutnya memiliki properti dengan nama yang sama, nilai tersebut menimpa nilai yang sudah ada. Urutan properti tidak dijamin.

Fungsi gabungan tidak hanya menggabungkan elemen tingkat atas tetapi juga secara rekursif menggabungkan objek berlapis di dalamnya. Nilai array berlapis tidak digabungkan. Lihat contoh kedua di bagian berikut.

Contoh

Contoh berikut menunjukkan cara menggunakan union dengan array dan objek.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "firstObject": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "b",
        "three": "c1"
      }
    },
    "secondObject": {
      "type": "object",
      "defaultValue": {
        "three": "c2",
        "four": "d",
        "five": "e"
      }
    },
    "firstArray": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    },
    "secondArray": {
      "type": "array",
      "defaultValue": [ "three", "four" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "objectOutput": {
      "type": "object",
      "value": "[union(parameters('firstObject'), parameters('secondObject'))]"
    },
    "arrayOutput": {
      "type": "array",
      "value": "[union(parameters('firstArray'), parameters('secondArray'))]"
    }
  }
}

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
objectOutput Objek {"one": "a", "two": "b", "three": "c2", "four": "d", "five": "e"}
arrayOutput Array ["one", "two", "three", "four"]

Contoh berikut menunjukkan kemampuan penggabungan mendalam:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "firstObject": {
      "property": {
        "one": "a",
        "two": "b",
        "three": "c1"
      },
      "nestedArray": [
        1,
        2
      ]
    },
    "secondObject": {
      "property": {
        "three": "c2",
        "four": "d",
        "five": "e"
      },
      "nestedArray": [
        3,
        4
      ]
    },
    "firstArray": [
      [
        "one",
        "two"
      ],
      [
        "three"
      ]
    ],
    "secondArray": [
      [
        "three"
      ],
      [
        "four",
        "two"
      ]
    ]
  },
  "resources": [],
  "outputs": {
    "objectOutput": {
      "type": "Object",
      "value": "[union(variables('firstObject'), variables('secondObject'))]"
    },
    "arrayOutput": {
      "type": "Array",
      "value": "[union(variables('firstArray'), variables('secondArray'))]"
    }
  }
}

Output dari contoh sebelumnya adalah:

Nama Jenis Nilai
objectOutput Objek {"property":{"one":"a","two":"b","three":"c2","four":"d","five":"e"},"nestedArray":[3,4]}
arrayOutput Array [["one","two"],["three"],["four","two"]]

Jika array berlapis digabungkan, maka nilai objectOutput.nestedArray adalah [1, 2, 3, 4], dan nilai arrayOutput adalah [["one", "two", "three"], ["three", "four", "two"]]] .

Langkah berikutnya