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

構造体キーで配列を並べ替え

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

指定された構造体キーの値に基づいて、指定された入力の構造体配列を並べ替えた配列を返します。

式のカテゴリ: 配列

引数

  • 入力配列 - 並べ替える構造体の入力配列。
    Expression<Array<Struct>>
  • 並べ替えキー - 並べ替えの優先順に並べ替えるための構造体キー。['author', 'age']のように複数のエントリでネストされた構造体要素を並べ替えます。
    List<Tuple<StructLocator, Enum<Ascending, Descending>>>

出力型: Array<Struct>

例 1: 基本ケース

引数の値:

  • 入力配列: [ {
    age: 20,
    }, {
    age: 10,
    }, {
    age: 30,
    } ]
  • 並べ替えキー: [(age, ASCENDING)]

出力: [ {
age: 10,
}, {
age: 20,
}, {
age: 30,
} ]


例 2: 基本ケース

引数の値:

  • 入力配列: [ {
    age: 20,
    }, {
    age: 10,
    }, {
    age: 30,
    } ]
  • 並べ替えキー: [(age, DESCENDING)]

出力: [ {
age: 30,
}, {
age: 20,
}, {
age: 10,
} ]


例 3: 基本ケース

引数の値:

  • 入力配列: [ {
    age: 20,
    height: 77,
    }, {
    age: 20,
    height...
  • 並べ替えキー: [(age, ASCENDING), (height, DESCENDING)]

出力: [ {
age: 10,
height: 80,
}, {
age: 10,
height...


例 4: 基本ケース

引数の値:

  • 入力配列: [ {
    age: 20,
    height: 77,
    }, {
    age: 20,
    height...
  • 並べ替えキー: [(age, ASCENDING), (height, ASCENDING)]

出力: [ {
age: 10,
height: 65,
}, {
age: 10,
height...


例 5: 基本ケース

引数の値:

  • 入力配列: [ {
    subStructKey: {
    age: 20,
    },
    }, {
    subStructKey: {
    age: 10,
    },
    }, {
    subStructKey: {
    age: 30,
    },
    } ]
  • 並べ替えキー: [(subStructKey.age, ASCENDING)]

出力: [ {
subStructKey: {
age: 10,
},
}, {
subStructKey: {
age: 20,
},
}, {
subStructKey: {
age: 30,
},
} ]


例 6: Null ケース

引数の値:

  • 入力配列: [ {
    age: 10,
    }, {
    age: null,
    }, {
    age: 30,
    } ]
  • 並べ替えキー: [(age, ASCENDING)]

出力: [ {
age: null,
}, {
age: 10,
}, {
age: 30,
} ]


例 7: Null ケース

引数の値:

  • 入力配列: [ {
    age: 10,
    }, {
    age: null,
    }, {
    age: 30,
    } ]
  • 並べ替えキー: [(age, DESCENDING)]

出力: [ {
age: 30,
}, {
age: 10,
}, {
age: null,
} ]