distinctBy

distinctBy(Array<T>, (item: T, index: Number) -> Any): Array<T>

重複がある場合でもリスト (配列) から一意の値を返します。

パラメータ

Name (名前) 説明

items

リスト (Array (配列) 型)。

criteria

返すために使用する item (項目) および/または index (インデックス)。

次の例では、入力配列から "Kurt Cagle" の重複を削除します。

ソース

%dw 2.0
output application/json
var record =  {
  "title": "XQuery Kick Start",
  "author": [
    "James McGovern",
    "Per Bothner",
    "Kurt Cagle",
    "James Linn",
    "Kurt Cagle",
    "Kurt Cagle",
    "Kurt Cagle",
    "Vaidyanathan Nagarajan"
  ],
  "year":"2000"
}
---
{
    "book" : {
      "title" : record.title,
      "year" : record.year,
      "authors" : record.author distinctBy $
    }
}

出力

{
  "book": {
    "title": "XQuery Kick Start",
    "year": "2000",
    "authors": [
      "James McGovern",
      "Per Bothner",
      "Kurt Cagle",
      "James Linn",
      "Vaidyanathan Nagarajan"
    ]
  }
}

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

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

distinctBy({ (K)?: V }, (value: V, key: K) -> Any): Object

オブジェクトから重複するキー-値ペアを削除します。

パラメータ

Name (名前) 説明

object

キー-値ペアを削除する元のオブジェクト。

criteria

削除するキー-値ペアを識別するために使用する key (キー) および/または value (値)。

次の例では、<book/> から重複 (<author>James McGovern</author>) を削除します。

ソース

%dw 2.0
output application/xml
---
{
   book : {
     title : payload.book.title,
     authors: payload.book.&author distinctBy $
   }
}

入力

<book>
  <title> "XQuery Kick Start"</title>
  <author>James Linn</author>
  <author>Per Bothner</author>
  <author>James McGovern</author>
  <author>James McGovern</author>
  <author>James McGovern</author>
</book>

出力

<book>
  <title> "XQuery Kick Start"</title>
  <authors>
      <author>James Linn</author>
      <author>Per Bothner</author>
      <author>James McGovern</author>
  </authors>
</book>

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub