Bicep için dizi işlevleri
Bu makalede, dizilerle çalışmaya yönelik Bicep işlevleri açıklanmaktadır. Dizilerle çalışmaya yönelik lambda işlevlerine buradan ulaşabilirsiniz.
dizi
array(convertToArray)
Değeri bir diziye dönüştürür.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
convertToArray | Yes | int, dize, dizi veya nesne | Diziye dönüştürülecek değer. |
Dönüş değeri
Bir dizi.
Örnek
Aşağıdaki örnekte, dizi işlevinin farklı türlerle nasıl kullanılacağı gösterilmektedir.
param intToConvert int = 1
param stringToConvert string = 'efgh'
param objectToConvert object = {
a: 'b'
c: 'd'
}
output intOutput array = array(intToConvert)
output stringOutput array = array(stringToConvert)
output objectOutput array = array(objectToConvert)
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
intOutput | Dizi | [1] |
stringOutput | Dizi | ["efgh"] |
objectOutput | Dizi | [{"a": "b", "c": "d"}] |
concat
concat(arg1, arg2, arg3, ...)
Birden çok diziyi birleştirir ve birleştirilmiş diziyi döndürür. Birden çok dizeyi birleştirme hakkında daha fazla bilgi için bkz . concat.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
arg1 | Yes | dizi | Birleştirme için ilk dizi. |
diğer bağımsız değişkenler | Hayır | dizi | Birleştirme için sıralı sırada daha fazla dizi. |
Bu işlev istediğiniz sayıda dizi alır ve bunları birleştirir.
Dönüş değeri
Birleştirilmiş değerler dizisi.
Örnek
Aşağıdaki örnekte iki dizinin nasıl birleştirildiği gösterilmektedir.
param firstArray array = [
'1-1'
'1-2'
'1-3'
]
param secondArray array = [
'2-1'
'2-2'
'2-3'
]
output return array = concat(firstArray, secondArray)
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
return | Dizi | ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"] |
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 |
Hızlı başlangıç örnekleri
Aşağıdaki örnek, tanılama günlükleri ayarlarıyla Sanal Ağ bir hızlı başlangıç şablonundan ayıklanır:
@description('Array containing DNS Servers')
param dnsServers array = []
...
resource vnet 'Microsoft.Network/virtualNetworks@2023-11-01' = {
name: vnetName
location: location
properties: {
addressSpace: {
addressPrefixes: vnetAddressSpace
}
dhcpOptions: empty(dnsServers) ? null : {
dnsServers: dnsServers
}
...
}
}
Koşullu ifadede, dnsServers dizisinin boş bir dizi olup olmadığını denetlemek için boş işlev kullanılır.
Birinci
first(arg1)
Dizinin ilk öğesini veya dizenin ilk karakterini döndürür.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
arg1 | Yes | dizi veya dize | İlk öğeyi veya karakteri almak için değer. |
Dönüş değeri
Bir dizideki ilk öğenin türü (dize, int, dizi veya nesne) veya bir dizenin ilk karakteri.
Örnek
Aşağıdaki örnekte, bir dizi ve dize ile ilk işlevin nasıl kullanılacağı gösterilmektedir.
param arrayToTest array = [
'one'
'two'
'three'
]
output arrayOutput string = first(arrayToTest)
output stringOutput string = first('One Two Three')
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
arrayOutput | String | bir |
stringOutput | String | O |
Düzleştir
flatten(arrayToFlatten)
Bir dizi dizisini alır ve özgün sırada bir alt dizi öğeleri dizisi döndürür. Alt diziler özyinelemeli olarak değil yalnızca bir kez düzleştirilmiştir.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
arrayToFlattern | Yes | dizi | Düzleştirmeye yönelik alt diziler dizisi. |
Dönüş değeri
Dizi
Örnek
Aşağıdaki örnekte flatten işlevinin nasıl kullanılacağı gösterilmektedir.
param arrayToTest array = [
['one', 'two']
['three']
['four', 'five']
]
output arrayOutput array = flatten(arrayToTest)
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
arrayOutput | dizi | ['bir', 'iki', 'üç', 'dört', 'beş'] |
ındexof
indexOf(arrayToSearch, itemToFind)
Bir öğenin dizideki ilk oluşumunun dizini için bir tamsayı döndürür. Karşılaştırma, dizeler için büyük/küçük harfe duyarlıdır.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
arrayToSearch | Yes | dizi | Arama yapılan öğenin dizinini bulmak için kullanılacak dizi. |
itemToFind | Yes | int, dize, dizi veya nesne | Dizide bulunacak öğe. |
Dönüş değeri
Dizideki öğenin ilk dizinini temsil eden tamsayı. Dizin sıfır tabanlıdır. Öğe bulunamazsa-1 döndürülür.
Örnekler
Aşağıdaki örnekte indexOf ve lastIndexOf işlevlerinin nasıl kullanılacağı gösterilmektedir:
var names = [
'one'
'two'
'three'
]
var numbers = [
4
5
6
]
var collection = [
names
numbers
]
var duplicates = [
1
2
3
1
]
output index1 int = lastIndexOf(names, 'two')
output index2 int = indexOf(names, 'one')
output notFoundIndex1 int = lastIndexOf(names, 'Three')
output index3 int = lastIndexOf(numbers, 4)
output index4 int = indexOf(numbers, 6)
output notFoundIndex2 int = lastIndexOf(numbers, '5')
output index5 int = indexOf(collection, numbers)
output index6 int = indexOf(duplicates, 1)
output index7 int = lastIndexOf(duplicates, 1)
Yukarıdaki örnekten alınan çıkış:
Adı | Tür | Değer |
---|---|---|
dizin1 | int | 1 |
dizin2 | int | 0 |
dizin3 | int | 0 |
dizin4 | int | 2 |
dizin5 | int | 1 |
index6 | int | 0 |
dizin7 | int | 3 |
notFoundIndex1 | int | -1 |
notFoundIndex2 | int | -1 |
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. |
diğer bağımsız değişkenler | Hayır | dizi veya nesne | Ortak öğeleri bulmak için kullanılacak daha fazla değer. |
Dönüş değeri
Ortak öğeleri olan bir dizi veya nesne. Öğelerin sırası ilk dizi parametresi tarafından belirlenir.
Ö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", "üç"] |
kesişen öğelerin sırasını ilk dizi parametresi belirler. Aşağıdaki örnek, döndürülen öğelerin sırasının hangi dizinin ilk olduğuna göre nasıl olduğunu gösterir.
var array1 = [
1
2
3
4
]
var array2 = [
3
2
1
]
var array3 = [
4
1
3
2
]
output commonUp array = intersection(array1, array2, array3)
output commonDown array = intersection(array2, array3, array1)
Yukarıdaki örnekten alınan çıkış:
Adı | Tür | Değer |
---|---|---|
commonUp | dizi | [1, 2, 3] |
commonDown | dizi | [3, 2, 1] |
Sonuncu
last(arg1)
Dizinin son öğesini veya dizenin son karakterini döndürür.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
arg1 | Yes | dizi veya dize | Son öğeyi veya karakteri almak için değer. |
Dönüş değeri
Bir dizideki son öğenin türü (dize, int, dizi veya nesne) veya dizenin son karakteri.
Örnek
Aşağıdaki örnekte, bir dizi ve dize ile son işlevin nasıl kullanılacağı gösterilmektedir.
param arrayToTest array = [
'one'
'two'
'three'
]
output arrayOutput string = last(arrayToTest)
output stringOutput string = last('One Two three')
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
arrayOutput | String | üç |
stringOutput | String | e |
Lastındexof
lastIndexOf(arrayToSearch, itemToFind)
Bir öğenin dizideki son oluşumunun dizini için bir tamsayı döndürür. Karşılaştırma, dizeler için büyük/küçük harfe duyarlıdır.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
arrayToSearch | Yes | dizi | Arama yapılan öğenin dizinini bulmak için kullanılacak dizi. |
itemToFind | Yes | int, dize, dizi veya nesne | Dizide bulunacak öğe. |
Dönüş değeri
Dizideki öğenin son dizinini temsil eden tamsayı. Dizin sıfır tabanlıdır. Öğe bulunamazsa-1 döndürülür.
Örnekler
Aşağıdaki örnekte indexOf ve lastIndexOf işlevlerinin nasıl kullanılacağı gösterilmektedir:
var names = [
'one'
'two'
'three'
]
var numbers = [
4
5
6
]
var collection = [
names
numbers
]
var duplicates = [
1
2
3
1
]
output index1 int = lastIndexOf(names, 'two')
output index2 int = indexOf(names, 'one')
output notFoundIndex1 int = lastIndexOf(names, 'Three')
output index3 int = lastIndexOf(numbers, 4)
output index4 int = indexOf(numbers, 6)
output notFoundIndex2 int = lastIndexOf(numbers, '5')
output index5 int = indexOf(collection, numbers)
output index6 int = indexOf(duplicates, 1)
output index7 int = lastIndexOf(duplicates, 1)
Yukarıdaki örnekten alınan çıkış:
Adı | Tür | Değer |
---|---|---|
dizin1 | int | 1 |
dizin2 | int | 0 |
dizin3 | int | 0 |
dizin4 | int | 2 |
dizin5 | int | 1 |
index6 | int | 0 |
dizin7 | int | 3 |
notFoundIndex1 | int | -1 |
notFoundIndex2 | int | -1 |
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 |
Hızlı başlangıç örnekleri
Aşağıdaki örnek, genel IP ile dış sanal ağda API Management dağıtma adlı hızlı başlangıç şablonundan ayıklanır:
@description('Numbers for availability zones, for example, 1,2,3.')
param availabilityZones array = [
'1'
'2'
]
resource exampleApim 'Microsoft.ApiManagement/service@2023-05-01-preview' = {
name: apiManagementName
location: location
sku: {
name: sku
capacity: skuCount
}
zones: ((length(availabilityZones) == 0) ? null : availabilityZones)
...
}
Koşullu ifadede length
işlev availabilityZones dizisinin uzunluğunu denetler.
Bu hızlı başlangıç Bicep dosyalarında daha fazla örnek bulunabilir:
- Kurtarma Hizmetleri kasayı kullanarak Resource Manager VM'lerini yedekleme
- API Management'ı Kullanılabilirlik Alanları dağıtma
- Kurallar ve Ip Grupları ile Güvenlik Duvarı ve Güvenlik DuvarıİlkeSi Oluşturma
- Alanlar ile Azure Güvenlik Duvarı korumalı alan kurulumu oluşturma
max
max(arg1)
Bir tamsayı dizisinden veya virgülle ayrılmış bir tamsayı listesinden en büyük değeri döndürür.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
arg1 | Yes | tamsayı dizisi veya virgülle ayrılmış tamsayı listesi | En büyük değeri almak için koleksiyon. |
Dönüş değeri
En büyük değeri temsil eden bir int.
Örnek
Aşağıdaki örnekte, bir dizi ve tamsayı listesiyle max işlevinin nasıl kullanılacağı gösterilmektedir:
param arrayToTest array = [
0
3
2
5
4
]
output arrayOutput int = max(arrayToTest)
output intOutput int = max(0,3,2,5,4)
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
arrayOutput | Int | 5 |
intOutput | Int | 5 |
dk
min(arg1)
Bir tamsayı dizisinden veya virgülle ayrılmış bir tamsayı listesinden en düşük değeri döndürür.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
arg1 | Yes | tamsayı dizisi veya virgülle ayrılmış tamsayı listesi | En düşük değeri almak için koleksiyon. |
Dönüş değeri
En düşük değeri temsil eden bir int.
Örnek
Aşağıdaki örnekte, bir dizi ve tamsayı listesiyle min değerinin nasıl kullanılacağı gösterilmektedir:
param arrayToTest array = [
0
3
2
5
4
]
output arrayOutput int = min(arrayToTest)
output intOutput int = min(0,3,2,5,4)
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
arrayOutput | Int | 0 |
intOutput | Int | 0 |
aralık
range(startIndex, count)
Başlangıç tamsayısından bir tamsayı dizisi oluşturur ve öğe sayısını içerir.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
Startındex | Yes | int | Dizideki ilk tamsayı. startIndex ve count toplamının 2147483647 büyük olmaması gerekir. |
count | Yes | int | Dizideki tamsayı sayısı. 10000'e kadar negatif olmayan tamsayı olmalıdır. |
Dönüş değeri
Tamsayı dizisi.
Örnek
Aşağıdaki örnekte range işlevinin nasıl kullanılacağı gösterilmektedir:
param startingInt int = 5
param numberOfElements int = 3
output rangeOutput array = range(startingInt, numberOfElements)
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
rangeOutput | Dizi | [5, 6, 7] |
Hızlı başlangıç örnekleri
Aşağıdaki örnek bir hızlı başlangıç şablonu olan VNET'te İki VM - İç Yük Dengeleyici ve LB kurallarından ayıklanır:
...
var numberOfInstances = 2
resource networkInterface 'Microsoft.Network/networkInterfaces@2023-11-01' = [for i in range(0, numberOfInstances): {
name: '${networkInterfaceName}${i}'
location: location
properties: {
...
}
}]
resource vm 'Microsoft.Compute/virtualMachines@2024-03-01' = [for i in range(0, numberOfInstances): {
name: '${vmNamePrefix}${i}'
location: location
properties: {
...
}
}]
Bicep dosyası iki networkInterface ve iki virtualMachine kaynağı oluşturur.
Bu hızlı başlangıç Bicep dosyalarında daha fazla örnek bulunabilir:
- Yönetilen Disk ile Çoklu VM Şablonu
- Birden çok boş StandardSSD_LRS Veri Diski ile VM oluşturma
- Kurallar ve Ip Grupları ile Güvenlik Duvarı ve Güvenlik DuvarıİlkeSi Oluşturma
- IpGroups ile Azure Güvenlik Duvarı oluşturma
- Alanlar ile Azure Güvenlik Duvarı korumalı alan kurulumu oluşturma
- Birden çok IP ortak adresi olan bir Azure Güvenlik Duvarı oluşturma
- Standart yük dengeleyici oluşturma
- Azure Traffic Manager VM örneği
- Belirli Uyarılar için Güvenlik Otomasyonu Oluşturma
- Performans için iyileştirilmiş depolama ayarlarına sahip SQL Server VM
- Birden çok Blob kapsayıcısı ile depolama hesabı oluşturma
- Birden çok dosya paylaşımıyla depolama hesabı oluşturma
skip
skip(originalValue, numberToSkip)
Dizide belirtilen sayıdan sonra tüm öğeleri içeren bir dizi döndürür veya dizede belirtilen sayıdan sonraki tüm karakterleri içeren bir dize döndürür.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
Originalvalue | Yes | dizi veya dize | Atlanırken kullanılacak dizi veya dize. |
numberToSkip | Yes | int | Atlana öğe veya karakter sayısı. Bu değer 0 veya daha küçükse, değerdeki tüm öğeler veya karakterler döndürülür. Dizi veya dizenin uzunluğundan büyükse boş bir dizi veya dize döndürülür. |
Dönüş değeri
Bir dizi veya dize.
Örnek
Aşağıdaki örnek, dizideki belirtilen öğe sayısını ve bir dizedeki belirtilen karakter sayısını atlar.
param testArray array = [
'one'
'two'
'three'
]
param elementsToSkip int = 2
param testString string = 'one two three'
param charactersToSkip int = 4
output arrayOutput array = skip(testArray, elementsToSkip)
output stringOutput string = skip(testString, charactersToSkip)
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
arrayOutput | Dizi | ["üç"] |
stringOutput | String | iki üç |
take
take(originalValue, numberToTake)
Dizinin başlangıcından belirtilen sayıda öğe içeren bir dizi veya dizenin başından itibaren belirtilen sayıda karakter içeren bir dize döndürür.
Ad alanı: sys.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
Originalvalue | Yes | dizi veya dize | Öğeleri almak için dizi veya dize. |
numberToTake | Yes | int | Alınacak öğe veya karakter sayısı. Bu değer 0 veya daha küçükse boş bir dizi veya dize döndürülür. Verilen dizi veya dizenin uzunluğundan büyükse, dizideki veya dizedeki tüm öğeler döndürülür. |
Dönüş değeri
Bir dizi veya dize.
Örnek
Aşağıdaki örnek, diziden belirtilen sayıda öğeyi ve bir dizedeki karakterleri alır.
param testArray array = [
'one'
'two'
'three'
]
param elementsToTake int = 2
param testString string = 'one two three'
param charactersToTake int = 2
output arrayOutput array = take(testArray, elementsToTake)
output stringOutput string = take(testString, charactersToTake)
Yukarıdaki örnekten varsayılan değerleri içeren çıkış:
Adı | Tür | Değer |
---|---|---|
arrayOutput | Dizi | ["bir", "iki"] |
stringOutput | String | on |
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. |
diğer bağımsız değişkenler | Hayır | dizi veya nesne | Öğeleri birleştirmek için kullanılacak diğer 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 diğer parametreler için işlemi yineler. Bir değer zaten varsa, dizideki önceki yerleşimi 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
- Bir değerle sınırlandırılmış dize değerleri dizisi almak için bkz . bölme.