Bicep의 배열 함수
이 문서에서는 배열 작업을 위한 Bicep 함수를 설명합니다. 배열 작업을 위한 람다 함수는 여기에서 찾을 수 있습니다.
배열
array(convertToArray)
값을 배열로 변환합니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
convertToArray | 예 | int, 문자열, 배열 또는 개체 | 배열로 변환할 값입니다. |
반환 값
배열입니다.
예시
다음 예제에서는 여러 다른 형식의 배열 함수를 사용하는 방법을 보여 줍니다.
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)
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
intOutput | 배열 | [1] |
stringOutput | 배열 | ["efgh"] |
objectOutput | 배열 | [{"a": "b", "c": "d"}] |
concat
concat(arg1, arg2, arg3, ...)
여러 배열을 결합하고 연결된 배열을 반환합니다. 여러 문자열을 결합하는 방법에 대한 자세한 내용은 concat을 참조하세요.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arg1 | 예 | 배열 | 연결할 첫 번째 배열입니다. |
더 많은 인수 | 아니요 | 배열 | 연결을 위한 배열이 순차적으로 더 있습니다. |
이 함수는 여러 배열을 가져와서 결합합니다.
반환 값
연결된 값의 배열입니다.
예시
다음 예제에서는 두 개의 배열을 결합하는 방법을 보여 줍니다.
param firstArray array = [
'1-1'
'1-2'
'1-3'
]
param secondArray array = [
'2-1'
'2-2'
'2-3'
]
output return array = concat(firstArray, secondArray)
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
return | 배열 | ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"] |
contains
contains(container, itemToFind)
배열에 값이 포함되는지, 개체에 키가 포함되는지 또는 문자열에 하위 문자열이 포함되는지를 확인합니다. 문자열 비교에서는 대/소문자를 구분합니다. 그러나 개체에 키가 포함되어 있는지를 테스트할 때는 비교에서 대/소문자를 구분하지 않습니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
컨테이너 | 예 | 배열, 개체 또는 문자열 | 찾을 값을 포함하는 값입니다. |
itemToFind | 예 | 문자열 또는 int | 찾을 값입니다. |
반환 값
항목이 있으면 True이고, 항목이 없으면 False입니다.
예시
다음 예제에서는 여러 다른 형식의 contains를 사용하는 방법을 보여 줍니다.
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')
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
stringTrue | Bool | True |
stringFalse | Bool | False |
objectTrue | Bool | True |
objectFalse | Bool | False |
arrayTrue | Bool | True |
arrayFalse | Bool | False |
empty
empty(itemToTest)
배열, 개체 또는 문자열이 비어 있는지 null인지 확인합니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
itemToTest | 예 | 배열, 개체 또는 문자열 | 비어 있는지 null인지 확인할 값입니다. |
반환 값
값이 비어 있거나 null이면 True를 반환하고, 그렇지 않으면 False를 반환합니다.
예시
다음 예제에서는 배열, 개체 및 문자열이 비어 있는지 여부를 확인합니다.
param testArray array = []
param testObject object = {}
param testString string = ''
param testNullString string?
output arrayEmpty bool = empty(testArray)
output objectEmpty bool = empty(testObject)
output stringEmpty bool = empty(testString)
output stringNull bool = empty(testNullString)
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
arrayEmpty | Bool | True |
objectEmpty | Bool | True |
stringEmpty | Bool | True |
stringNull | Bool | True |
빠른 시작 예제
다음 예제는 진단 로그 설정을 사용하여 Virtual Network 빠른 시작 템플릿에서 추출됩니다.
@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
}
...
}
}
조건식에서 빈 함수는 dnsServers 배열이 빈 배열인지 여부를 확인하는 데 사용됩니다.
첫째
first(arg1)
배열의 첫 번째 요소 또는 문자열의 첫 번째 문자를 반환합니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arg1 | 예 | 배열 또는 문자열 | 첫 번째 요소 또는 문자를 검색할 값입니다. |
반환 값
배열의 첫 번째 요소 또는 문자열의 첫 번째 문자에 대한 형식(문자열, int, 배열 또는 개체)입니다.
예시
다음 예제에서는 배열 및 문자열에 첫 번째 함수를 사용하는 방법을 보여 줍니다.
param arrayToTest array = [
'one'
'two'
'three'
]
output arrayOutput string = first(arrayToTest)
output stringOutput string = first('One Two Three')
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
arrayOutput | 문자열 | 1 |
stringOutput | 문자열 | O |
평면화(flatten)
flatten(arrayToFlatten)
배열의 배열을 사용하고 원래 순서로 하위 배열 요소의 배열을 반환합니다. 하위 배열은 재귀적으로 평면화되지 않고 한 번만 평면화됩니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arrayToFlattern | 예 | 배열 | 평면화할 하위 배열의 배열입니다. |
반환 값
배열
예시
다음 예제에서는 flatten 함수를 사용하는 방법을 보여 줍니다.
param arrayToTest array = [
['one', 'two']
['three']
['four', 'five']
]
output arrayOutput array = flatten(arrayToTest)
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
arrayOutput | 배열 | ['one', 'two', 'three', 'four', 'five'] |
indexof
indexOf(arrayToSearch, itemToFind)
배열에서 항목이 처음 나타나는 인덱스의 정수를 반환합니다. 비교는 문자열에 대/소문자를 구분합니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arrayToSearch | 예 | 배열 | 검색된 항목의 인덱스를 찾는 데 사용할 배열입니다. |
itemToFind | 예 | int, 문자열, 배열 또는 개체 | 배열에서 찾을 항목입니다. |
반환 값
배열에 있는 항목의 첫 번째 인덱스를 나타내는 정수입니다. 인덱스는 0부터 시작합니다. 항목을 찾을 수 없으면 -1이 반환됩니다.
예제
다음 예제에서는 indexOf 및 lastIndexOf 함수를 사용하는 방법을 보여 줍니다.
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)
위 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
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 |
교집합
intersection(arg1, arg2, arg3, ...)
매개 변수에서 공통 요소를 갖는 단일 배열 또는 개체를 반환합니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arg1 | 예 | 배열 또는 개체 | 공통 요소를 찾는 데 사용할 첫 번째 값입니다. |
arg2 | 예 | 배열 또는 개체 | 공통 요소를 찾는 데 사용할 두 번째 값입니다. |
더 많은 인수 | 아니요 | 배열 또는 개체 | 일반적인 요소를 찾는 데 사용할 더 많은 값입니다. |
반환 값
공통 요소가 있는 배열 또는 개체입니다. 요소의 순서는 첫 번째 배열 매개 변수에 의해 결정됩니다.
예시
다음 예제에서는 배열 및 개체에 intersection을 사용하는 방법을 보여 줍니다.
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)
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
objectOutput | Object | {"one": "a", "three": "c"} |
arrayOutput | 배열 | ["two", "three"] |
첫 번째 배열 매개 변수는 교차 요소의 순서를 결정합니다. 다음 예에서는 어떤 배열이 첫 번째인지에 따라 반환된 요소의 순서가 결정되는 방식을 보여 줍니다.
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)
위 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
commonUp | 배열 | [1, 2, 3] |
commonDown | 배열 | [3, 2, 1] |
마지막
last(arg1)
배열의 마지막 요소 또는 문자열의 마지막 문자를 반환합니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arg1 | 예 | 배열 또는 문자열 | 마지막 요소 또는 문자를 검색할 값입니다. |
반환 값
배열의 마지막 요소 또는 문자열의 마지막 문자에 대한 형식(문자열, int, 배열 또는 개체)입니다.
예시
다음 예제에서는 배열 및 문자열에 마지막 함수를 사용하는 방법을 보여 줍니다.
param arrayToTest array = [
'one'
'two'
'three'
]
output arrayOutput string = last(arrayToTest)
output stringOutput string = last('One Two three')
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
arrayOutput | 문자열 | three |
stringOutput | 문자열 | e |
lastindexof
lastIndexOf(arrayToSearch, itemToFind)
배열에서 항목이 마지막으로 나타나는 인덱스의 정수를 반환합니다. 비교는 문자열에 대/소문자를 구분합니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arrayToSearch | 예 | 배열 | 검색된 항목의 인덱스를 찾는 데 사용할 배열입니다. |
itemToFind | 예 | int, 문자열, 배열 또는 개체 | 배열에서 찾을 항목입니다. |
반환 값
배열에 있는 항목의 마지막 인덱스를 나타내는 정수입니다. 인덱스는 0부터 시작합니다. 항목을 찾을 수 없으면 -1이 반환됩니다.
예제
다음 예제에서는 indexOf 및 lastIndexOf 함수를 사용하는 방법을 보여 줍니다.
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)
위 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
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)
배열의 요소 수, 문자열의 문자 수 또는 개체의 루트 수준 속성 수를 반환합니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arg1 | 예 | 배열, 문자열 또는 개체 | 요소의 수를 가져오는 데 사용할 배열, 문자 수를 가져오는 데 사용할 문자열 또는 루트 수준의 속성 수를 가져오려는 데 사용할 개체입니다. |
반환 값
int입니다.
예시
다음 예제에서는 배열 및 문자열에 length를 사용하는 방법을 보여 줍니다.
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)
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
arrayLength | 정수 | 3 |
stringLength | 정수 | 13 |
objectLength | 정수 | 4 |
빠른 시작 예제
다음 예제는 빠른 시작 템플릿인 공용 IP를 사용하여 외부 VNet에 API Management 배포에서 추출됩니다.
@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)
...
}
조건식에서 length
함수는 availabilityZones 배열의 길이를 확인합니다.
이러한 빠른 시작 Bicep 파일에서 더 많은 예제를 찾을 수 있습니다.
- Recovery Services 자격 증명 모음을 사용하여 Resource Manager VM 백업
- 가용성 영역으로 API Management 배포
- 규칙 및 Ipgroup을 사용하여 방화벽 및 FirewallPolicy 만들기
- 영역을 사용하여 Azure Firewall의 샌드박스 설정 만들기
최대
max(arg1)
정수 배열 또는 쉼표로 구분된 정수 목록 중에서 최대값을 반환합니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arg1 | 예 | 정수 배열 또는 쉼표로 구분된 정수 목록 | 최대값을 가져올 컬렉션입니다. |
반환 값
최대값을 나타내는 int입니다.
예시
다음 예제에서는 배열 및 정소 목록에 max를 사용하는 방법을 보여 줍니다.
param arrayToTest array = [
0
3
2
5
4
]
output arrayOutput int = max(arrayToTest)
output intOutput int = max(0,3,2,5,4)
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
arrayOutput | 정수 | 5 |
intOutput | 정수 | 5 |
최소
min(arg1)
정수 배열 또는 쉼표로 구분된 정수 목록 중에서 최소값을 반환합니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arg1 | 예 | 정수 배열 또는 쉼표로 구분된 정수 목록 | 최소값을 가져올 컬렉션입니다. |
반환 값
최소값을 나타내는 int입니다.
예시
다음 예제에서는 배열 및 정소 목록에 min을 사용하는 방법을 보여 줍니다.
param arrayToTest array = [
0
3
2
5
4
]
output arrayOutput int = min(arrayToTest)
output intOutput int = min(0,3,2,5,4)
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
arrayOutput | 정수 | 0 |
intOutput | 정수 | 0 |
range
range(startIndex, count)
시작 정수 및 항목의 수를 포함하는 정수 배열을 만듭니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
startIndex | 예 | int | 배열에서 첫 번째 정수입니다. startIndex 및 count의 합계는 2,147,483,647 이하여야 합니다. |
count | 예 | int | 배열에 있는 정수의 수입니다. 음수가 아닌 정수(최대 10.000)여야 합니다. |
반환 값
정수 배열입니다.
예시
다음 예제에서는 range 함수를 사용하는 방법을 보여 줍니다.
param startingInt int = 5
param numberOfElements int = 3
output rangeOutput array = range(startingInt, numberOfElements)
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
rangeOutput | 배열 | [5, 6, 7] |
빠른 시작 예제
다음 예제는 빠른 시작 템플릿, VNET의 두 VM - 내부 Load Balancer 및 LB 규칙에서 추출됩니다.
...
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 파일은 networkInterface 2개와 virtualMachine 리소스 2개를 만듭니다.
이러한 빠른 시작 Bicep 파일에서 더 많은 예제를 찾을 수 있습니다.
- 관리 디스크가 있는 다중 VM 템플릿
- 여러 개의 빈 StandardSSD_LRS 데이터 디스크가 있는 VM 만들기
- 규칙 및 Ipgroup을 사용하여 방화벽 및 FirewallPolicy 만들기
- IpGroup을 사용하여 Azure Firewall 만들기
- 영역을 사용하여 Azure Firewall의 샌드박스 설정 만들기
- 여러 IP 공용 주소를 사용하여 Azure Firewall 만들기
- 표준 부하 분산 장치 만들기
- Azure Traffic Manager VM 예제
- 특정 경고에 대한 보안 자동화 만들기
- 성능 최적화 스토리지 설정을 사용하여 SQL Server VM
- 여러 Blob 컨테이너를 사용하여 스토리지 계정 만들기
- 여러 파일 공유를 사용하여 스토리지 계정 만들기
skip
skip(originalValue, numberToSkip)
배열에서 지정된 숫자 이후의 모든 요소를 포함하는 배열을 반환하거나 문자열에서 지정된 숫자 이후의 모든 숫자를 포함하는 문자열을 반환합니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
originalValue | 예 | 배열 또는 문자열 | 건너뛰는 데 사용할 배열 또는 문자열입니다. |
numberToSkip | 예 | int | 건너뛸 요소 또는 문자 수입니다. 이 값이 0 이하이면 값의 모든 요소 또는 문자가 반환됩니다. 이 값이 배열 또는 문자열의 길이보다 크면 빈 배열 또는 문자열이 반환됩니다. |
반환 값
배열 또는 문자열입니다.
예시
다음 예제에서는 배열에서 지정된 요소 수 및 문자열에서 지정된 수의 문자를 건너뜁니다.
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)
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
arrayOutput | 배열 | ["three"] |
stringOutput | 문자열 | two three |
take
take(originalValue, numberToTake)
배열 시작부터 지정된 수의 요소를 포함하는 배열 또는 문자열 시작부터 지정된 수의 문자를 포함하는 문자열을 반환합니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
originalValue | 예 | 배열 또는 문자열 | 요소를 가져올 배열 또는 문자열입니다. |
numberToTake | 예 | int | 수락할 요소 또는 문자의 수입니다. 이 값이 0 이하이면 빈 배열 또는 문자열이 반환됩니다. 지정된 배열 또는 문자열의 길이보다 크면 배열 또는 문자열의 모든 요소가 반환됩니다. |
반환 값
배열 또는 문자열입니다.
예시
다음 예제에서는 배열에서 지정된 수의 요소 및 문자열의 문자를 가져옵니다.
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)
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
arrayOutput | 배열 | ["one", "two"] |
stringOutput | 문자열 | On |
union
union(arg1, arg2, arg3, ...)
매개 변수의 모든 요소를 포함하는 단일 배열 또는 개체를 반환합니다. 배열의 경우 중복 값이 한 번 포함됩니다. 개체의 경우 중복 속성 이름은 한 번만 포함됩니다.
네임스페이스: sys.
매개 변수
매개 변수 | 필수 | Type | 설명 |
---|---|---|---|
arg1 | 예 | 배열 또는 개체 | 요소를 조인하는 데 사용할 첫 번째 값입니다. |
arg2 | 예 | 배열 또는 개체 | 요소를 조인하는 데 사용할 두 번째 값입니다. |
더 많은 인수 | 아니요 | 배열 또는 개체 | 요소를 조인하는 데 사용할 더 많은 값입니다. |
반환 값
배열 또는 개체입니다.
설명
union 함수는 매개 변수의 시퀀스를 사용하여 결과의 순서와 값을 결정합니다.
배열의 경우 함수는 첫 번째 매개 변수의 각 요소를 반복하고 아직 존재하지 않는 경우 결과에 추가합니다. 그런 다음, 두 번째 매개 변수 및 추가 매개 변수에 대한 프로세스를 반복합니다. 값이 이미 있는 경우 배열의 이전 배치가 유지됩니다.
개체의 경우 첫 번째 매개 변수의 속성 이름과 값이 결과에 추가됩니다. 후자 매개 변수의 경우 결과에 새 이름이 추가됩니다. 후자 매개 변수에 동일한 이름의 속성이 있는 경우 해당 값은 기존 값을 덮어씁니다. 속성의 순서가 보장되지 않습니다.
Union 함수는 최상위 요소뿐만 아니라 해당 요소 내의 중첩된 개체를 재귀적으로 병합합니다. 중첩된 배열 값은 병합되지 않습니다. 다음 섹션의 두 번째 예제를 참조하세요.
예시
다음 예제에서는 배열 및 개체에 union을 사용하는 방법을 보여 줍니다.
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)
기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
objectOutput | Object | {"one": "a", "two": "b", "three": "c2", "four": "d", "five": "e"} |
arrayOutput | 배열 | ["one", "two", "three", "four"] |
다음 예제에서는 딥 병합 기능을 보여 줍니다.
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)
위 예제의 출력은 다음과 같습니다.
이름 | 타입 | 값 |
---|---|---|
objectOutput | Object | {"property":{"one":"a","two":"b","three":"c2","four":"d","five":"e"},"nestedArray":[3,4]} |
arrayOutput | 배열 | [["one","two"],["three"],["four","two"]] |
중첩된 배열이 병합된 경우 objectOutput.nestedArray 값은 [1, 2, 3, 4]이고 arrayOutput 값은 [["one", "two", "three"], ["three", "four", "two"]]입니다.
다음 단계
- 값으로 구분되는 문자열 값의 배열을 가져오려면 split을 참조하세요.