array_filter
根据设定的过滤条件返回数组中匹配的元素。该函数可用于普通的数组过滤,也可以搭配 Lambda 函数进行更灵活的数组过滤。有关 Lambda 表达式的详细信息,参见 Lambda expression。该函数从 2.5 版本开始支持。
语法
array_filter(array, array<bool>)
array_filter(lambda_function, arr1,arr2...)
-
array_filter(array, array<bool>)
将
array
数组中的每个元素传递给array<bool>
函数进行判断。 如果array<bool>
返回true
,则将array
中的当前元素返回到结果数组中。 -
array_filter(lambda_function, arr1,arr2...)
将
lambda_function
应用到每个输入数组,返回匹配的数组。
参数说明
-
array
: 要进行过滤的数组。 -
array<bool>
: 用于过滤数组的表达式。 -
lambda_function
: 用于过滤数组的 lambda 表达式。
注意事项
array_filter(array, array<bool>)
里的两个输入参数必须是 ARRAY 类型,并且第二个参数可以兼容或者转换成array<bool>
。array_filter(lambda_function, arr1,arr2...)
中对 lambda function 的要求同 array_map()。- 如果输入数组为 null,返回 null。如果用于过滤的数组为 null,则返回空数组。