注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

配列要素のトランスフォーム

サポート対象: バッチ, ストリーミング

配列の各要素に式を適用します。配列のインデックスは 1 から始まります。

式カテゴリ: 配列

引数

  • Array - 式を適用する要素を含む入力配列。
    Expression<Array<AnyType>>
  • 適用する式 - 配列の各要素に対して 1 回適用される式。
    Expression<T>

型変数の境界: T は AnyType を受け入れます

出力型: Array<T>

例 1: 基本ケース

引数の値:

  • Array: flight_number
  • 適用する式:
    stringBeforeDelimiter(
     delimiter: -,
     expression: element,
     ignoreCase: false,
    )
flight_number出力
[ XB-134, MT-111 ][ XB, MT ]

例 2: 基本ケース

引数の値:

  • Array: miles
  • 適用する式:
    add(
     expressions: [previous_miles, element],
    )
milesprevious_miles出力
[ 12300, 12342 ]10000[ 22300, 22342 ]

例 3: 基本ケース

説明: 配列要素にインデックスを追加します。インデックスは 1 から始まります。 引数の値:

  • Array: array
  • 適用する式:
    add(
     expressions: [elementIndex, element],
    )
array出力
[ 1, 1, 1 ][ 2, 3, 4 ]

例 4: 基本ケース

引数の値:

  • Array: miles
  • 適用する式:
    cast(
     expression: element,
     type: String,
    )
miles出力
[ 12300, 12342 ][ 12300, 12342 ]

例 5: 基本ケース

説明: 構造体の配列から構造体要素を取得します。 引数の値:

  • Array: raw_data
  • 適用する式:
    getStructField(
     locator: miles,
     struct: element,
    )
raw_data出力
[ {
miles: 22300,
tail_number: XB-112,
}, {
miles: 22342,
tail_number: XB-112,
} ]
[ 22300, 22342 ]

例 6: 基本ケース

説明: 構造体の配列から構造体要素を取得します。 引数の値:

  • Array: raw_data
  • 適用する式:
    transformMapKeys(
     expression:
    uppercase(
     expression: key,
    ),
     map: element,
    )
raw_data出力
[ {
 miles -> 22300,
 tail_number -> XB-112,
}, {
 miles -> 22342L,
 tail_number -> XB-112,
} ]
[ {
 MILES -> 22300,
 TAIL_NUMBER -> XB-112,
}, {
 MILES -> 22342L,
 TAIL_NUMBER -> XB-112,
} ]