subarray()

배열에서 시작 인덱스와 끝 인덱스로 지정한 범위의 부분 배열을 반환합니다.

문법

subarray(ARRAY, START[, END])

매개변수

ARRAY
부분 배열을 추출할 배열.
START
추출을 시작할 인덱스. 0부터 시작하며, 음수를 지정하면 배열 끝에서부터 계산합니다.
END
추출을 끝낼 인덱스(선택). 이 인덱스의 요소는 결과에 포함되지 않습니다. 생략하면 배열의 끝까지 추출합니다. 음수를 지정하면 배열 끝에서부터 계산합니다.

설명

subarray() 함수는 ARRAY에서 START 이상 END 미만 범위에 해당하는 요소를 추출하여 새 배열로 반환합니다. 인덱스는 0부터 시작하며, 음수 인덱스는 배열 끝에서부터의 위치를 나타냅니다. 예를 들어 길이가 5인 배열에서 -1은 마지막 요소(인덱스 4)를 가리킵니다.

다음 상황에서 null을 반환합니다.

  • ARRAYnull인 경우
  • START가 유효 범위를 벗어난 경우
  • STARTEND보다 큰 경우

END가 배열 길이보다 크면 배열의 끝까지 포함합니다.

오류 코드

해당 사항 없음

사용 예

  1. START만 지정하여 해당 위치부터 끝까지 추출

    json "{}" | eval arr = subarray(array(1, 2, 3, 4, 5), 2)
    | # arr: [3, 4, 5]
    
  2. STARTEND를 모두 지정하여 특정 범위 추출

    json "{}" | eval arr = subarray(array(1, 2, 3, 4, 5), 2, 4)
    | # arr: [3, 4]
    
  3. 음수 인덱스를 사용하여 범위 지정

    json "{}" | eval arr = subarray(array(1, 2, 3, 4, 5), 1, -1)
    | # arr: [2, 3, 4]
    
  4. START가 유효 범위를 벗어난 경우

    json "{}" | eval arr = subarray(array(1, 2, 3, 4, 5), 5)
    | # arr: null
    
  5. ARRAYnull인 경우

    json "{}" | eval arr = subarray(null, 0)
    | # arr: null
    

호환성

subarray() 함수는 소나 4.0 이전 버전부터 제공되었습니다.