ARRAY_SLICE
功能
返回数组的子片段,支持起始偏移与长度。
语法
ARRAY_SLICE(arr, offset)
ARRAY_SLICE(arr, offset, length)
参数
arr
:ARRAY<T>
。offset
:表示起点。正数从头部计数(1
表示第一个元素),负数从尾部计数(-1
表示最后一个元素)。length
:表示长度。为正表示取length
个元素;为负表示长度为 0。
返回值
- 返回与输入同类型的
ARRAY<T>
。
使用说明
- 越界安全:起点与终点会被裁剪到数组边界以内,若无重叠则返回空数组。
示例
-
指定正数起点:从起点直到左侧末尾
ARRAY_SLICE([1,2,3,4,5,6], 2)
->[2,3,4,5,6]
-
指定负数起点:从起点直到左侧末尾
ARRAY_SLICE([1,2,3,4,5,6], -3)
->[4,5,6]
-
指定正数长度,从起点向右取
ARRAY_SLICE([1,2,3,4,5,6], 2, 3)
->[2,3,4]
ARRAY_SLICE([1,2,3,4,5,6], -4, 2)
->[3,4]
-
指定负数长度,认为长度为 0
ARRAY_SLICE([1,2,3,4,5,6], 2, -2)
->[]
-
参数越界,返回空数组
ARRAY_SLICE([1,2,3,4,5,6], 10, 3)
->[]
-
参数为
NULL
,返回NULL
ARRAY_SLICE([1,2,3], NULL, 2)
->NULL
ARRAY_SLICE([1,2,3], 2, NULL)
->NULL
ARRAY_SLICE(NULL, 2, 3)
->NULL