map

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 値に使用できるようにするヘルパー関数。

Was this article helpful?

💙 Thanks for your feedback!