跳转至

Filter array elements(过滤数组元素(Filter array elements))

Supported in: Batch, Streaming

Filters an array based on the filter expression. Note, array index starts at 1.

Expression categories: Array

Declared arguments

  • Array: Array to be filtered.
    Expression\>
  • Expression to filter: If the expression evaluates to true for a given element, the element will be kept, if false the element will be removed.
    Expression\

Type variable bounds: T accepts AnyType

Output type: Array\

Examples

Example 1: Base case

Argument values:

  • Array: array
  • Expression to filter:
    isNotNull(
     expression: element,
    )
array Output
[ 2, 5, null, 11 ] [ 2, 5, 11 ]

Example 2: Base case

Argument values:

  • Array: array
  • Expression to filter:
    lessThanOrEquals(
     left: element,
     right: 10,
    )
array Output
[ 2, 5, null, 11 ] [ 2, 5 ]

Example 3: Base case

Argument values:

  • Array: array
  • Expression to filter:
    lessThanOrEquals(
     left: element,
     right: 10,
    )
array Output
[ 2, 5, 7, 11, 12, 15 ] [ 2, 5, 7 ]

Example 4: Base case

Description: Note that array index starts at 1.

Argument values:

  • Array: array
  • Expression to filter:
    equals(
     left: element,
     right: elementIndex,
    )
array Output
[ 1, -1, -2, 4, -5 ] [ 1, 4 ]

Example 5: Base case

Argument values:

  • Array: array
  • Expression to filter:
    stringContains(
     expression: element,
     ignoreCase: false,
     value: hello,
    )
array Output
[ hello world, hello, world ] [ hello world, hello ]

Example 6: Base case

Argument values:

  • Array: array
  • Expression to filter:
    lessThanOrEquals(
     left:
    add(
     expressions: [element, 4],
    ),
     right: 10,
    )
array Output
[ 2, 5, 7, 11, 12, 15 ] [ 2, 5 ]

Example 7: Null case

Argument values:

  • Array: array
  • Expression to filter:
    lessThanOrEquals(
     left: element,
     right: 10,
    )
array Output
null null


中文翻译


过滤数组元素(Filter array elements)

支持:批处理(Batch)、流处理(Streaming)

根据过滤表达式对数组进行过滤。注意,数组索引从 1 开始。

表达式类别: 数组(Array)

声明的参数

  • 数组(Array): 待过滤的数组。
    表达式\>
  • 过滤表达式(Expression to filter): 若表达式对某个元素求值为 true,则保留该元素;若为 false,则移除该元素。
    表达式\

类型变量边界: T 接受任意类型(AnyType)

输出类型: Array\

示例

示例 1:基础情况

参数值:

  • 数组: array
  • 过滤表达式:
    isNotNull(
     expression: element,
    )
array 输出
[ 2, 5, null, 11 ] [ 2, 5, 11 ]

示例 2:基础情况

参数值:

  • 数组: array
  • 过滤表达式:
    lessThanOrEquals(
     left: element,
     right: 10,
    )
array 输出
[ 2, 5, null, 11 ] [ 2, 5 ]

示例 3:基础情况

参数值:

  • 数组: array
  • 过滤表达式:
    lessThanOrEquals(
     left: element,
     right: 10,
    )
array 输出
[ 2, 5, 7, 11, 12, 15 ] [ 2, 5, 7 ]

示例 4:基础情况

描述: 注意数组索引从 1 开始。

参数值:

  • 数组: array
  • 过滤表达式:
    equals(
     left: element,
     right: elementIndex,
    )
array 输出
[ 1, -1, -2, 4, -5 ] [ 1, 4 ]

示例 5:基础情况

参数值:

  • 数组: array
  • 过滤表达式:
    stringContains(
     expression: element,
     ignoreCase: false,
     value: hello,
    )
array 输出
[ hello world, hello, world ] [ hello world, hello ]

示例 6:基础情况

参数值:

  • 数组: array
  • 过滤表达式:
    lessThanOrEquals(
     left:
    add(
     expressions: [element, 4],
    ),
     right: 10,
    )
array 输出
[ 2, 5, 7, 11, 12, 15 ] [ 2, 5 ]

示例 7:空值情况

参数值:

  • 数组: array
  • 过滤表达式:
    lessThanOrEquals(
     left: element,
     right: 10,
    )
array 输出
null null