orderBy

DataWeave 2.1 は Mule 4.1 と互換性があります。 Mule 4.1 の標準サポートは 2020 年 11 月 2 日に終了しました。このバージョンの Mule は、拡張サポートが終了する 2022 年 11 月 2 日にその​​すべてのサポートが終了します。

このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。

標準サポートが適用されている最新バージョンの Mule 4 にアップグレード​することをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。

orderBy(O, (value: V, key: K) -> R): O

関数によって条件として返された値を使用してオブジェクトの内容を並び替えます。

インデックスは ​$$​、 値は ​$​ で参照できます。

パラメータ

名前 説明

object

並び替えるオブジェクト。

criteria

関数の結果は、オブジェクトを並び替える条件として使用されます。

次の例では、配列内の各オブジェクトの値をアルファベット順に並べます。 orderBy($.letter)​ は ​orderBy($[0])​ と同じ結果になります。

ソース

%dw 2.0
output application/json
---
orderByLetter: [{ letter: "d" }, { letter: "e" }, { letter: "c" }, { letter: "a" }, { letter: "b" }] orderBy($.letter)

出力

{
  "orderByLetter": [
    {
      "letter": "a"
    },
    {
      "letter": "b"
    },
    {
      "letter": "c"
    },
    {
      "letter": "d"
    },
    {
      "letter": "e"
    }
  ]
}

結果の配列の並び順を昇順から降順に変えるには、​-​ を使用します。

ソース

%dw 2.0
output application/json
---
orderDescending: ([3,8,1] orderBy -$)

出力

{ "orderDescending": [8,3,1] }

orderBy(Array<T>, (item: T, index: Number) -> R): Array<T>

指定された条件を使用して配列を並び替えます。

パラメータ

名前 説明

array

並び替えるリスト (配列)。

criteria

関数の結果は、リストを並び替える条件として使用されます。単純な値 (文字列、数値など) を返す必要があります。

次の例では、数値に基づいて数値の配列を並び替えます。

ソース

%dw 2.0
output application/json
---
[3,2,3] orderBy $

出力

[
  2,
  3,
  3
]

次の例では、age (年齢) に基づいて人の配列を並び替えます。

ソース

%dw 2.0
output application/json
---
[{name: "Santiago", age: 42},{name: "Leandro", age: 29}, {name: "Mariano", age: 35}] orderBy (person) -> person.age

出力

[
  {
    name: "Leandro",
    age: 29
  },
  {
    name: "Mariano",
    age: 35
  },
  {
    name: "Santiago",
    age: 42
  }
]

orderBy(Null, (item: Nothing, index: Nothing) -> Null): Null

orderBy​ を null 値に使用できるようにするヘルパー関数。