Fungsi objek untuk Bicep

Artikel ini menjelaskan fungsi Bicep untuk mengerjakan objek.

berisi

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.

Namespace: sys.

Parameter

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

Mengembalikan nilai

Benar jika item ditemukan; jika tidak, Salah.

Contoh

Contoh berikut menunjukkan cara menggunakan berisi dengan jenis yang berbeda:

param stringToTest string = 'OneTwoThree'
param objectToTest object = {
  'one': 'a'
  'two': 'b'
  'three': 'c'
}
param arrayToTest array = [
  'one'
  'two'
  'three'
]

output stringTrue bool = contains(stringToTest, 'e')
output stringFalse bool = contains(stringToTest, 'z')
output objectTrue bool = contains(objectToTest, 'one')
output objectFalse bool = contains(objectToTest, 'a')
output arrayTrue bool = contains(arrayToTest, 'three')
output arrayFalse bool = contains(arrayToTest, 'four')

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
stringTrue Bool True
stringFalse Bool FALSE
objectTrue Bool True
objectFalse Bool FALSE
arrayTrue Bool True
arrayFalse Bool FALSE

kosong

empty(itemToTest)

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

Namespace: sys.

Parameter

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

Mengembalikan nilai

Kembalikan Benar jika nilainya kosong; jika tidak, Salah.

Contoh

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

param testArray array = []
param testObject object = {}
param testString string = ''

output arrayEmpty bool = empty(testArray)
output objectEmpty bool = empty(testObject)
output stringEmpty bool = empty(testString)

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
arrayEmpty Bool True
objectEmpty Bool True
stringEmpty Bool True

intersection

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

Mengembalikan satu array atau objek dengan elemen umum dari parameter.

Namespace: sys.

Parameter

Parameter Diperlukan Jenis 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.
argumen tambahan Tidak array atau objek Nilai tambahan yang digunakan untuk menemukan elemen umum.

Nilai kembali

Array atau objek dengan elemen umum.

Contoh

Contoh berikut menunjukkan cara menggunakan persimpangan dengan array dan objek:

param firstObject object = {
  'one': 'a'
  'two': 'b'
  'three': 'c'
}
param secondObject object = {
  'one': 'a'
  'two': 'z'
  'three': 'c'
}
param firstArray array = [
  'one'
  'two'
  'three'
]
param secondArray array = [
  'two'
  'three'
]

output objectOutput object = intersection(firstObject, secondObject)
output arrayOutput array = intersection(firstArray, secondArray)

Output dari contoh sebelumnya dengan nilai default adalah:

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

item

items(object)

Mengonversi objek kamus ke array.

Namespace: sys.

Parameter

Parameter Diperlukan Jenis Deskripsi
objek Ya objek Objek kamus yang akan dikonversi ke array.

Nilai kembali

Array objek untuk kamus yang dikonversi. Setiap objek dalam array memiliki properti key yang berisi nilai kunci untuk kamus. Setiap objek juga memiliki properti value yang berisi properti untuk objek.

Contoh

Contoh berikut mengonversi objek kamus ke array. Untuk setiap objek dalam array, objek baru dibuat dengan nilai modifikasi.

var entities = {
  item002: {
    enabled: false
    displayName: 'Example item 2'
    number: 200
  }
  item001: {
    enabled: true
    displayName: 'Example item 1'
    number: 300
  }
}

var modifiedListOfEntities = [for entity in items(entities): {
  key: entity.key
  fullName: entity.value.displayName
  itemEnabled: entity.value.enabled
}]

output modifiedResult array = modifiedListOfEntities

Contoh sebelumnya menampilkan:

"modifiedResult": {
  "type": "Array",
  "value": [
    {
      "fullName": "Example item 1",
      "itemEnabled": true,
      "key": "item001"
    },
    {
      "fullName": "Example item 2",
      "itemEnabled": false,
      "key": "item002"
    }
  ]
}

Contoh berikut menunjukkan array yang ditampilkan dari fungsi item.

var entities = {
  item002: {
    enabled: false
    displayName: 'Example item 2'
    number: 200
  }
  item001: {
    enabled: true
    displayName: 'Example item 1'
    number: 300
  }
}

var entitiesArray = items(entities)

output itemsResult array = entitiesArray

Contoh ini menampilkan:

"itemsResult": {
  "type": "Array",
  "value": [
    {
      "key": "item001",
      "value": {
        "displayName": "Example item 1",
        "enabled": true,
        "number": 300
      }
    },
    {
      "key": "item002",
      "value": {
        "displayName": "Example item 2",
        "enabled": false,
        "number": 200
      }
    }
  ]
}

Di JSON, objek adalah kumpulan pasangan kunci/nilai nol atau lebih yang tidak diurutkan. Pengurutan dapat berbeda bergantung pada implementasinya. Misalnya, fungsi item() Bicep mengurutkan objek dalam urutan abjad. Di tempat lain, pengurutan asli dapat dipertahankan. Karena non-determinisme ini, hindari membuat asumsi tentang pengurutan kunci objek saat menulis kode yang berinteraksi dengan output & parameter penyebaran.

json

json(arg1)

Mengonversi string JSON yang valid menjadi jenis data JSON.

Namespace: sys.

Parameter

Parameter Diperlukan Jenis Deskripsi
arg1 Ya string Nilai untuk dikonversi menjadi JSON. Untai (karakter) harus merupakan untai (karakter) JSON yang diformat dengan benar.

Menampilkan nilai

Jenis data JSON dari string yang ditentukan, atau nilai kosong saat null ditentukan.

Keterangan

Jika Anda perlu menyertakan nilai parameter atau variabel dalam objek JSON, gunakan fungsi concat untuk membuat untai (karakter) yang Anda berikan ke fungsi.

Contoh

Contoh berikut menunjukkan cara menggunakan fungsi json. Perhatikan bahwa Anda dapat meneruskan null untuk objek kosong.

param jsonEmptyObject string = 'null'
param jsonObject string = '{\'a\': \'b\'}'
param jsonString string = '\'test\''
param jsonBoolean string = 'true'
param jsonInt string = '3'
param jsonArray string = '[[1,2,3]]'
param concatValue string = 'demo value'

output emptyObjectOutput bool = empty(json(jsonEmptyObject))
output objectOutput object = json(jsonObject)
output stringOutput string =json(jsonString)
output booleanOutput bool = json(jsonBoolean)
output intOutput int = json(jsonInt)
output arrayOutput array = json(jsonArray)
output concatObjectOutput object = json(concat('{"a": "', concatValue, '"}'))

Output dari contoh sebelumnya dengan nilai default adalah:

Nama Jenis Nilai
emptyObjectOutput Boolean True
objectOutput Objek {"a": "b"}
stringOutput String uji
booleanOutput Boolean True
intOutput Bilangan bulat 3
arrayOutput Array [1, 2, 3]
concatObjectOutput Objek { "a": "nilai demo" }

panjang

length(arg1)

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

Namespace: sys.

Parameter

Parameter Diperlukan Jenis 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.

Mengembalikan nilai

Int.

Contoh

Contoh berikut memperlihatkan cara menggunakan panjang dengan array dan string:

param arrayToTest array = [
  'one'
  'two'
  'three'
]
param stringToTest string = 'One Two Three'
param objectToTest object = {
  'propA': 'one'
  'propB': 'two'
  'propC': 'three'
  'propD': {
      'propD-1': 'sub'
      'propD-2': 'sub'
  }
}

output arrayLength int = length(arrayToTest)
output stringLength int = length(stringToTest)
output objectLength int = length(objectToTest)

Output dari contoh sebelumnya dengan nilai default adalah:

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

union

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

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

Namespace: sys.

Parameter

Parameter Diperlukan Jenis 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.
argumen tambahan Tidak array atau objek Nilai tambahan yang digunakan untuk menggabungkan elemen.

Nilai kembali

Array atau objek.

Keterangan

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

Untuk larik, fungsi akan muncul di tiap elemen dalam parameter pertama dan menambahkannya ke hasil jika belum ada. Lalu, prosedur ini mengulangi proses untuk parameter kedua dan parameter tambahan apa pun. Jika nilai sudah ada, itu adalah penempatan lebih awal dalam larik yang dipertahankan.

Untuk objek, nama properti dan nilai 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 itu menimpa nilai yang sudah ada. Urutan properti tidak dijamin.

Contoh

Contoh berikut menunjukkan cara menggunakan union dengan array dan objek:

param firstObject object = {
  'one': 'a'
  'two': 'b'
  'three': 'c1'
}

param secondObject object = {
  'three': 'c2'
  'four': 'd'
  'five': 'e'
}

param firstArray array = [
  'one'
  'two'
  'three'
]

param secondArray array = [
  'three'
  'four'
  'two'
]

output objectOutput object = union(firstObject, secondObject)
output arrayOutput array = union(firstArray, 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"]

Langkah berikutnya