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,返回NULLARRAY_SLICE([1,2,3], NULL, 2)->NULLARRAY_SLICE([1,2,3], 2, NULL)->NULLARRAY_SLICE(NULL, 2, 3)->NULL