---
schema_version: "1"
id: e2efb498c38637d29e7545e323a09920949b4694b6e16188418f7b866d00ddd5
title: minBy
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.3/dw-core-functions-minby.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.3/dw-core-functions-minby
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 00160b16bd927cfbb01c0cca8571767d9c0710e32c4ffb4c1a28e8e58a5cb4f3
description: MuleSoft Documentation Site
release: "2.3"
latest: false
---
# minBy

## [](#minby1)minBy(Array<T>, (item: T) -> Comparable): T | Null

配列を反復処理し、配列から比較可能な要素の最小値を返します。

項目のデータ型は同じである必要があります。同じでない場合、​`minBy`​ はエラーを返し、配列が空の場合は、null を返します。

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

<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>item</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">入力配列内の要素 (型が ​<code>Number</code>​ (数値)、​<code>Boolean</code>​ (ブール)、​<code>DateTime</code>​ (日時)、​<code>LocalDateTime</code>​ (ローカル日時)、​<code>Date</code>​ (日付)、​<code>LocalTime</code>​ (ローカル時刻)、​<code>Time</code>​ (時刻)、​<code>TimeZone</code>​ (タイムゾーン) のいずれか)。​<code>$</code>​ で参照できます。</p></td>
</tr>
</tbody>
</table>

### [](#例)例

次の例では、配列のオブジェクト (キー-値ペア) 内の最小数値を返します。​`item.a`​ を使用してオブジェクトの値を選択しています。​`[ { "a" : 1 }, { "a" : 3 }, { "a" : 2 } ] minBy $.a`​ のように、匿名パラメーターを使用して同じ式を記述することもできます。

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

```DataWeave
%dw 2.0
output  application/json
---
[ { "a" : 1 }, { "a" : 2 }, { "a" : 3 } ] minBy (item) -> item.a
```

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

```JSON
{ "a" : 1 }
```

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

次の例では、変数 ​`myDateTime1`​ および ​`myDateTime2`​ で定義された入力から最新の ​`DateTime`​ (日時)、​`Date`​ (日付)、および ​`Time`​ (時刻) を取得します。また、この関数は空の配列に対して null を返すことも示しています。

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

```DataWeave
%dw 2.0
var myDateTime1 = "2017-10-01T22:57:59-03:00"
var myDateTime2 = "2018-10-01T23:57:59-03:00"
output application/json
---
{
  myMinBy: {
    byDateTime: [ myDateTime1, myDateTime2 ] minBy ((item) -> item),
    byDate: [ myDateTime1 as Date, myDateTime2 as Date ] minBy ((item) -> item),
    byTime: [ myDateTime1 as Time, myDateTime2 as Time ] minBy ((item) -> item),
    aBoolean: [ true, false, (0 > 1), (1 > 0) ] minBy $,
    emptyArray: [] minBy ((item) -> item)
  }
}
```

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

```JSON
{
  "myMinBy": {
    "byDateTime": "2017-10-01T22:57:59-03:00",
    "byDate": "2017-10-01",
    "byTime": "22:57:59-03:00",
    "aBoolean": false,
    "emptyArray": null
  }
}
```