---
schema_version: "1"
id: 7a9340f722fc61ca82c8a48a4bd91c88b3d7ccf19229267493a28ae2cc781f6c
title: pluck
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.6/dw-core-functions-pluck.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.6/dw-core-functions-pluck
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 52e1e3775910e1900aeca7d64748cbb20eb8e0594e411a5be6875bf1d0646c58
description: MuleSoft Documentation Site
release: "2.6"
latest: false
---
# pluck

## [](#pluck1)pluck<K, V, R>(@StreamCapable object: { (K)?: V }, mapper: (value: V, key: K, index: Number) -> R): Array<R>

1 つのオブジェクトを配列にマップする場合に便利です。​`pluck`​ はオブジェクトを反復処理してそのオブジェクトからキー、値、またはインデックスの配列を返します。

これは、配列ではなくオブジェクトを返す 類似の ​`mapObject`​ の代替となります。

### [](#パラメーター)パラメーター

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 25%;">
<col style="width: 75%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">名前</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>object</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">マップするオブジェクト。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>mapper</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">指定されたオブジェクトを配列にマップするために使用する ​<code>key</code>​、​<code>value</code>​、または ​<code>index</code>​ (省略可能) を提供する式またはセレクター。</p></td>
</tr>
</tbody>
</table>

### [](#例)例

次の例では、匿名マッパー関数 (​`(value,key,index) → { (index) : { (value):key} }`​) を使用して ​`{ "a":"b","c":"d"}`​ を反復処理し、指定されたオブジェクトの各キー-値ペアを反転し、インデックスをキーとして返します。マッパーは名前付きパラメーターを使用して、オブジェクトのキー、値、インデックスを識別します。​`{"a":"b","c":"d"} pluck { ($$$) : { ($):$$} }`​ のように、匿名パラメーターを使用して同じ式を記述することができます。​`mapObject`​ を使用するほぼ同じ例とは異なり、​`pluck`​ は出力を配列として返します。

#### [](#ソース)ソース

```DataWeave
%dw 2.0
output application/json
---
{"a":"b","c":"d"} pluck (value,key,index) -> { (index) : { (value):key} }
```

#### [](#出力)出力

```JSON
[ { "0": { "b": "a" } }, { "1": { "d": "c" } } ]
```

### [](#例-2)例

次の例では ​`pluck`​ を使用して、​`<prices/>`​ 内の各要素を反復処理し、キー、値、およびインデックスの配列を返します。匿名パラメーターを使用してこれらをキャプチャします。値を数値に変換するのに ​`as Number`​ が使用されています。それ以外の場合、文字列として返されます。

#### [](#ソース-2)ソース

```DataWeave
%dw 2.0
output application/json
var readXml = read("<prices>
    <basic>9.99</basic>
    <premium>53.00</premium>
    <vip>398.99</vip>
    </prices>", "application/xml")
---
"result" : {
  "keys" : readXml.prices pluck($$),
  "values" : readXml.prices pluck($) as Number,
  "indices" : readXml.prices pluck($$$)
}
```

#### [](#出力-2)出力

```JSON
{
   "result": {
     "keys": [ "basic", "premium", "vip" ],
     "values": [ 9.99, 53, 398.99 ],
     "indices": [ 0, 1, 2 ]
   }
}
```

## [](#pluck2)pluck(value: Null, mapper: (value: Nothing, key: Nothing, index: Nothing) -> Any): Null

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