Bicep için nesne işlevleri
Bu makalede nesnelerle çalışmaya yönelik Bicep işlevleri açıklanmaktadır.
içerir
contains(container, itemToFind)
Dizinin bir değer, nesnenin anahtar mı yoksa dizenin alt dize mi içerdiğini denetler. Dize karşılaştırması büyük/küçük harfe duyarlıdır. Ancak, bir nesnenin anahtar içerip içermediğini test ederken karşılaştırma büyük/küçük harfe duyarlı değildir.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
kapsayıcı | Yes | dizi, nesne veya dize | Bulunabilecek değeri içeren değer. |
itemToFind | Yes | dize veya int | Bulunacak değer. |
Dönüş değeri
Öğe bulunursa True , değilse False.
Örnek
Aşağıdaki örnekte, farklı türlerde contains özelliğinin nasıl kullanılacağı gösterilmektedir:
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')
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
stringTrue | Boole | True |
stringFalse | Boole | False |
objectTrue | Boole | True |
objectFalse | Boole | False |
arrayTrue | Boole | True |
arrayFalse | Boole | False |
empty
empty(itemToTest)
Dizi, nesne veya dizenin boş olup olmadığını belirler.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
itemToTest | Yes | dizi, nesne veya dize | Boş olup olmadığını denetlemek için gereken değer. |
Dönüş değeri
Değer boşsa True, değilse False döndürür.
Örnek
Aşağıdaki örnek bir dizi, nesne ve dizenin boş olup olmadığını denetler.
param testArray array = []
param testObject object = {}
param testString string = ''
output arrayEmpty bool = empty(testArray)
output objectEmpty bool = empty(testObject)
output stringEmpty bool = empty(testString)
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
arrayEmpty | Boole | True |
objectEmpty | Boole | True |
stringEmpty | Boole | True |
Kesişim
intersection(arg1, arg2, arg3, ...)
Parametrelerden ortak öğeler içeren tek bir dizi veya nesne döndürür.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
arg1 | Yes | dizi veya nesne | Ortak öğeleri bulmak için kullanılacak ilk değer. |
arg2 | Yes | dizi veya nesne | Ortak öğeleri bulmak için kullanılacak ikinci değer. |
ek bağımsız değişkenler | Hayır | dizi veya nesne | Ortak öğeleri bulmak için kullanılacak ek değerler. |
Dönüş değeri
Ortak öğeleri olan bir dizi veya nesne.
Örnek
Aşağıdaki örnekte, diziler ve nesnelerle kesişimin nasıl kullanılacağı gösterilmektedir:
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)
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
objectOutput | Object | {"one": "a", "three": "c"} |
arrayOutput | Dizi | ["iki", "üç"] |
öğeler
items(object)
Sözlük nesnesini diziye dönüştürür. Bir diziyi nesneye dönüştürme hakkında toObject bölümüne bakın.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
nesne | Yes | nesne | Diziye dönüştürülecek sözlük nesnesi. |
Dönüş değeri
Dönüştürülen sözlük için bir nesne dizisi. Dizideki her nesne, sözlüğün anahtar değerini içeren bir key
özelliğe sahiptir. Her nesnenin, nesnenin özelliklerini içeren bir value
özelliği de vardır.
Örnek
Aşağıdaki örnek bir sözlük nesnesini diziye dönüştürür. Dizideki her nesne için değiştirilmiş değerlerle yeni bir nesne oluşturur.
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
Yukarıdaki örnek şunu döndürür:
"modifiedResult": {
"type": "Array",
"value": [
{
"fullName": "Example item 1",
"itemEnabled": true,
"key": "item001"
},
{
"fullName": "Example item 2",
"itemEnabled": false,
"key": "item002"
}
]
}
Aşağıdaki örnekte items işlevinden döndürülen dizi gösterilmektedir.
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
Örnek şunu döndürür:
"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
}
}
]
}
JSON'da nesne, sıfır veya daha fazla anahtar/değer çifti içeren sıralanmamış bir koleksiyondur. Sıralama, uygulamalara bağlı olarak farklı olabilir. Örneğin, Bicep items() işlevi nesneleri alfabetik düzende sıralar. Diğer yerlerde özgün sıralama korunabilir. Bu determinizm olmadığından, dağıtım parametreleri ve çıkışlarıyla etkileşim kuran kod yazarken nesne anahtarlarının sıralanmasıyla ilgili varsayımlarda bulunmaktan kaçının.
json
json(arg1)
Geçerli bir JSON dizesini JSON veri türüne dönüştürür.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
arg1 | Yes | Dize | JSON'a dönüştürülecek değer. Dize düzgün biçimlendirilmiş bir JSON dizesi olmalıdır. |
Dönüş değeri
Belirtilen dizedeki JSON veri türü veya null belirtildiğinde boş bir değer.
Açıklamalar
JSON nesnesine parametre değeri veya değişken eklemeniz gerekiyorsa, işleve geçirdiğiniz dizeyi oluşturmak için concat işlevini kullanın.
Örnek
Aşağıdaki örnekte json işlevinin nasıl kullanılacağı gösterilmektedir. Boş bir nesne için null değerini geçirebileceğinize dikkat edin.
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, '"}'))
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
emptyObjectOutput | Boolean | True |
objectOutput | Object | {"a": "b"} |
stringOutput | String | test |
booleanOutput | Boolean | True |
intOutput | Tam sayı | 3 |
arrayOutput | Dizi | [ 1, 2, 3 ] |
concatObjectOutput | Object | { "a": "demo value" } |
uzunluk
length(arg1)
Bir dizideki öğe sayısını, dizedeki karakterleri veya nesnedeki kök düzeyi özellikleri döndürür.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
arg1 | Yes | dizi, dize veya nesne | Öğe sayısını almak için kullanılacak dizi, karakter sayısını almak için kullanılacak dize veya kök düzeyi özelliklerin sayısını almak için kullanılacak nesne. |
Dönüş değeri
Bir int.
Örnek
Aşağıdaki örnekte, bir dizi ve dize ile uzunluğun nasıl kullanılacağı gösterilmektedir:
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)
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
arrayLength | Int | 3 |
stringLength | Int | 13 |
objectLength | Int | 4 |
birleşim
union(arg1, arg2, arg3, ...)
Parametrelerdeki tüm öğeleri içeren tek bir dizi veya nesne döndürür. Diziler için, yinelenen değerler bir kez eklenir. Nesneler için yinelenen özellik adları yalnızca bir kez eklenir.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
arg1 | Yes | dizi veya nesne | Öğeleri birleştirmek için kullanılacak ilk değer. |
arg2 | Yes | dizi veya nesne | Öğeleri birleştirmek için kullanılacak ikinci değer. |
ek bağımsız değişkenler | Hayır | dizi veya nesne | Öğeleri birleştirmek için kullanılacak ek değerler. |
Dönüş değeri
Dizi veya nesne.
Açıklamalar
union işlevi, sonucun sırasını ve değerlerini belirlemek için parametrelerin sırasını kullanır.
Diziler için işlev, ilk parametredeki her öğede yinelenir ve henüz mevcut değilse sonucuna ekler. Ardından, ikinci parametre ve ek parametreler için işlemi yineler. Bir değer zaten varsa, dizideki daha önceki yerleştirme korunur.
Nesneler için, ilk parametredeki özellik adları ve değerler sonuda eklenir. Daha sonraki parametreler için, sonuda yeni adlar eklenir. Sonraki bir parametre aynı ada sahip bir özelliğe sahipse, bu değer var olan değerin üzerine yazar. Özelliklerin sırası garanti değildir.
Union işlevi yalnızca üst düzey öğeleri birleştirmekle kalmaz, aynı zamanda iç içe yerleştirilmiş nesneleri yinelemeli olarak birleştirir. İç içe dizi değerleri birleştirilmemiş. Aşağıdaki bölümdeki ikinci örne bakın.
Örnek
Aşağıdaki örnekte diziler ve nesnelerle birleşim özelliğinin nasıl kullanılacağı gösterilmektedir:
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)
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
objectOutput | Object | {"one": "a", "two": "b", "three": "c2", "four": "d", "five": "e"} |
arrayOutput | Dizi | ["bir", "iki", "üç", "dört"] |
Aşağıdaki örnekte derin birleştirme özelliği gösterilmektedir:
var firstObject = {
property: {
one: 'a'
two: 'b'
three: 'c1'
}
nestedArray: [
1
2
]
}
var secondObject = {
property: {
three: 'c2'
four: 'd'
five: 'e'
}
nestedArray: [
3
4
]
}
var firstArray = [
[
'one'
'two'
]
[
'three'
]
]
var secondArray = [
[
'three'
]
[
'four'
'two'
]
]
output objectOutput object = union(firstObject, secondObject)
output arrayOutput array = union(firstArray, secondArray)
Yukarıdaki örnekten alınan çıkış:
Adı | Tür | Değer |
---|---|---|
objectOutput | Object | {"property":{"one":"a","two":"b","three":"c2","four":"d","five":"e"},"nestedArray":[3,4]} |
arrayOutput | Dizi | [["bir","iki"],["üç"],["dört","iki"]] |
İç içe diziler birleştirildiyse objectOutput.nestedArray değeri [1, 2, 3, 4] ve arrayOutput değeri [["one", "iki", "üç"], ["üç", "dört", "iki"]] olur.
Sonraki adımlar
- Bicep dosyasındaki bölümlerin açıklaması için bkz . Bicep dosyalarının yapısını ve söz dizimini anlama.