リスト

リストは、特定の型のアイテムの集合です。たとえば、[2, 3, 5, 7]は素数のリスト、[{“GroupID”: “12345”, “GroupName”: “Administrators”}, {“GroupID”: “6789”, “GroupName”: “Contractors”}]はGroupオブジェクトのリストです。

単独のアイテムとは異なり、リストでは、多くの場合、List関数を使用する必要する必要があります。List関数を使用すると、リスト内のアイテムにアクセスし、これを操作できます。リスト内の単独のアイテムを操作できる関数は複数存在しますが、最も一般的なのはList Atです。

リストの型

リスト[‘nitrogen’, ‘oxygen’, ‘argon’]には、3つのアイテムが含まれています。各アイテムはテキスト型です。テキスト型のアイテムは、必ず一重引用符か二重引用符で囲まれます。このリスト内の各アイテムがテキストであることがわかるため、このリストはテキストのリストとわかります。

このリストの各アイテムはテキストであり、このリストに後から追加されるアイテムもすべてテキスト型である必要があります。

リストには、テキスト型、数値型、文字列型、True/False型、日時型、オブジェクト型、ファイル型のアイテムを含めることができます。

以下に例を挙げます。

リスト - 数値型

[2, 4, 6, 8]

リスト - オブジェクト型

[{“firstName”: “Carly Rae”, “lastName”: “Jepsen”}, {“firstName”: “Taylor”, “lastName”: “Swift”}]

リストのアイテムの反復処理

アイテムのリスト全体を使用したい場合は、特定の条件が満たされるまで、またはリストの最後に到達するまで、各アイテムを反復処理する必要があります。

反復処理のプロセスはループ処理と呼ばれ、リストの中心的概念の1つです。リストをループ処理するときは、リストのアイテムごとに(指定した)一連の命令を実行します。つまり、リストに5つのアイテムがあると、定義した命令が5回実行されます。

多くの場合、この機能を使用し、ループ本体内でリスト内の各アイテムを使用して、各アイテムを「処理」します。ループの本体は、一連の命令文のにすぎません。命令分は、Designerにおいては、カードです。これにより、渡されるアイテムに関係なく繰り返し使用できる一意のステップ群を作成できます。これは、大規模なアイテムのリストを処理する場合に役立ちます。アイテムのリストをループ処理する方法に関する詳細については、「親フローと他のフロータイプ」をご覧ください。

リストを反復処理するための中核関数の例を以下に示します。

  • FilterFilter Custom:条件を基にリストをフィルタリングします。

  • FindFind Custom:リスト内の特定のアイテムを検索します。

  • For Each:反復処理ごとに一連の命令文を実行して、リスト全体を反復処理します。

  • Map:既存のリストを取得し、命令文を実行して、結果として得られたリストを返します。

  • Reduce:一連の条件に基づき、リストを1個のアイテムに縮小します。

[Add Function(関数の追加)]ダイアログの[List(リスト)]カテゴリーで他のリスト関数を確認できます。「Workflowsの関数」を参照してください。

リストの処理

リストを処理する場合、2種類のList関数カードを使用できます。

  • カードはリストを入力として受け付け、出力を返します。この種のカードでは、他の入力フィールド値が必要となる場合があります。
  • カードはリストを入力として受け付け、リストのアイテムの反復処理ごとに実行される一連の命令文を事前に指定するよう要求します。この種のカードの例として、Filter Custom、Find Custom、Map、Reduceが挙げられます。

これらの各カードでは、各反復処理に対し実行される一連の命令文を含むフローを提供するよう求められます。

反復処理が求められるList関数カードを使用するときの一般的な決まりとして、実行される命令文を含むフローを事前に作成しておくことが挙げられます。

リストを処理するときのリスト内のアイテムの位置は、インデックスと呼ばれます。 [‘nitrogen’, ‘oxygen’, ‘argon’]のリスト内のアイテムに番号を付ける場合、インデックス番号は1からではなく、0から始まります。このリストでは、アイテム ‘nitrogen’が実際にはインデックス0、‘oxygen’がインデックス1、'carbon'がインデックス2となります。これは、多くの場合、他のプログラミング言語でゼロから始まる配列と呼ばれています。