map

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

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

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

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

指定されたマッパー関数を使用して特定のリスト (配列) から新しいリストに 項目を変換します。

パラメータ

名前 説明

items

マップする配列。

mapper

各 ​index​ で動作するか、場合によってはその項目の各 ​item​ で動作するために使用する式またはセレクタ。

次の例では、入力配列 (​["jose", "pedro", "mateo"]​) を反復処理して DataWeave オブジェクトの配列を生成します。匿名関数 ​(value, index) → {index: value}​ は、入力内の各項目をオブジェクトにマップします。 {index: value}​ が示すように、入力配列からの各インデックスが出力オブジェクトのキーになり、入力配列の各値がそのオブジェクトの値になります。

ソース

%dw 2.0
output application/json
---
["jose", "pedro", "mateo"] map (value, index) -> { (index) : value}

出力

[ { "0": "jose" }, { "1": "pedro" }, { "2": "mateo" } ]

次の例では、入力の項目およびインデックスで動作する匿名関数を使用して、入力配列 (​['a', 'b', 'c']​) を反復処理します。入力配列の項目ごとに ​index + 1​ (​index​ プラス 1) をアンダースコア (​_​) および対応する ​value​ と連結し、配列 ​[ "1_a", "2_b", "3_c" ]​ を返します。

ソース

%dw 2.0
output application/json
---
['a', 'b', 'c'] map ((value, index) -> (index + 1) ++ '_' ++ value)

出力

[ "1_a", "2_b", "3_c" ]

mapper​ (マッパー) 関数のパラメータが指定されない場合、インデックスは ​$$​、値は ​$​ で参照できます。次の例では、入力配列 ​['joe', 'pete', 'matt']​ の各項目を反復処理し、インデックスがキーとして選択されているオブジェクトの配列を返します。 配列の各項目の値は、返されるオブジェクトの値として選択されます。数値を文字列に変換するには、​$$​ を引用符で囲む必要があります。

ソース

%dw 2.0
output application/json
---
['joe', 'pete', 'matt'] map ( "$$" : $)

出力

[
  { "0": "joe" },
  { "1": "pete" },
  { "2": "matt" }
]

map(Null, (item: Nothing, index: Nothing) -> Any): Null

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