array_sortby
功能
对数组中的元素根据另外一个键值数组元素或者 Lambda 函数生成的键值数组元素进行升序排列。有关 Lambda 表达式的详细信息,参见 Lambda expression。该函数从 2.5 版本开始支持。
举例,有两个数组 a = [3,1,4],b = [7,5,6]。将 b
作为排序键,对 a
里的元素进行排序。
根据键值对关系,b
的元素 [7,5,6] 一一对应 a
的 元素[3,1,4]。
转换前:
数组 | 第一个元素 | 第二个元素 | 第三个元素 |
---|---|---|---|
a | 3 | 1 | 4 |
b | 7 | 5 | 6 |
转换后,b 按照升序排列为 [5,6,7],对应 a 的元素位置也进行相应调整,变为 [1,4,3]。
数组 | 第一个元素 | 第二个元素 | 第三个元素 |
---|---|---|---|
a | 1 | 4 | 3 |
b | 5 | 6 | 7 |
语法
array_sortby(array0, array1)
array_sortby(<lambda function>, array0 [, array1...])
-
array_sortby(array0, array1)
根据
array1
的键值数组元素对array0
进行升序排序。 -
array_sortby(<lambda_function>, array0 [, array1...])
根据
lambda_function
生成的键值数组元素,对array0
进行升序排序。
参数说明
array0
:需要排序的数组,支持的数据类型为 ARRAY,或者null
。数组中的元素必须为可排序的元素。array1
:用于排序的键值数组,支持的数据类型为 ARRAY,或者null