구조체 키로 배열 정렬
| 항목 | 값 |
|---|---|
| 화면 이름 | Array sort by struct key |
| 식별자 | arraySortByKeyV2 |
| 지원 실행 방식 | Batch, Streaming |
| 범주 | 배열 (Array) |
| 반환 자료형 | Array<Struct> |
구조체 배열을 지정한 구조체 키의 값으로 정렬합니다.
입력 인자
| 이름 | 지정 여부 | 자료형 | 의미와 조건 |
|---|---|---|---|
Input array | 필수 | Expression<Array<Struct>> | 정렬할 구조체 배열입니다. |
Sort keys | 필수 | List<Tuple<StructLocator, Enum<Ascending, Descending>>> | 정렬 우선순위대로 구조체 키를 지정합니다. 중첩 필드는 ['author', 'age']처럼 여러 경로 요소로 지정합니다. |
입출력 예시
예시 1: 기본 동작
인자 값:
Input array: [ {
age: 20,
}, {
age: 10,
}, {
age: 30,
} ]Sort keys: [(age,ASCENDING)]
출력: [ {
age: 10,
}, {
age: 20,
}, {
age: 30,
} ]
예시 2: 기본 동작
인자 값:
Input array: [ {
age: 20,
}, {
age: 10,
}, {
age: 30,
} ]Sort keys: [(age,DESCENDING)]
출력: [ {
age: 30,
}, {
age: 20,
}, {
age: 10,
} ]
예시 3: 기본 동작
인자 값:
Input array: [ {
age: 20,
height: 77,
}, {
age: 20,
height...Sort keys: [(age,ASCENDING), (height,DESCENDING)]
출력: [ {
age: 10,
height: 80,
}, {
age: 10,
height...
예시 4: 기본 동작
인자 값:
Input array: [ {
age: 20,
height: 77,
}, {
age: 20,
height...Sort keys: [(age,ASCENDING), (height,ASCENDING)]
출력: [ {
age: 10,
height: 65,
}, {
age: 10,
height...
예시 5: 기본 동작
인자 값:
Input array: [ {
subStructKey: {
age: 20,
},
}, {
subStructKey: {
age: 10,
},
}, {
subStructKey: {
age: 30,
},
} ]Sort keys: [(subStructKey.age,ASCENDING)]
출력: [ {
subStructKey: {
age: 10,
},
}, {
subStructKey: {
age: 20,
},
}, {
subStructKey: {
age: 30,
},
} ]
예시 6: null 처리
인자 값:
Input array: [ {
age: null,
height: 77,
}, {
age: null,
**...Sort keys: [(age,ASCENDING)]
출력: [ {
age: null,
height: 77,
}, {
age: null,
**...
예시 7: null 처리
인자 값:
Input array: [ {
age: 10,
}, {
age: null,
}, {
age: 30,
} ]Sort keys: [(age,ASCENDING)]
출력: [ {
age: null,
}, {
age: 10,
}, {
age: 30,
} ]
예시 8: null 처리
인자 값:
Input array: [ {
age: 10,
}, {
age: null,
}, {
age: 30,
} ]Sort keys: [(age,DESCENDING)]
출력: [ {
age: 30,
}, {
age: 10,
}, {
age: null,
} ]