こんにちは、NoCodeCampのツバサです。
今日は、integromat ついて 配列の中の一番大きいデータを取り出す方法について説明していきます。
map ()とは?
map()は、その指定した配列の中で、指定したKeyに一致する要素を選択できる関数になります。
ExcelでいうVlookupの配列版のようなイメージです。
大雑把には、以下の2つだけ覚えておけばOKです。
![](https://i.gyazo.com/031359f2df7c6b37729dc8b2c98cc6d3.png)
例えば、下記のような入力をした場合に、Array という配列の中からEmail というKeyのみを取り出したい場合には、以下のように入力します。
元データ
![](https://i.gyazo.com/f674f214f71ce2bc54929fe9e6ce566b.png)
![](https://i.gyazo.com/3fe754dab3cda4c30de398c4a95729fb.png)
ちなみにAirtableはSeach Recordsの値を、Array aggregatorモジュールを使って配列に変換してます。
こんな感じです。
![](https://i.gyazo.com/dbcdb66e70f3b748fdc1f137914961ef.png)
![](https://i.gyazo.com/835d7e9711c94b74685a664cc7096a05.png)
実際のMap関数の入力方法
これを実行すると、以下のような出力になります。
![](https://i.gyazo.com/0f8eb3363bb5f5ef4b7a98dc701e20b2.png)
Empty style さんのところで、Map()の説明がさらに詳細に説明されています。
Integromat基礎#23 – Map ()で複雑な配列から欲しい情報のみのシンプルな配列を作成
つまり、Map関数は、複数の配列に対して、自分の指定した値を検索して表示することができる関数です。
【応用編】配列の中で一番数字の大きいものを表示したい場合
では、ここから応用編です。Airtableのデータの中で、5つのうち、もっともPointが大きいデータだけをCreateしたい場合にはどうするか?について説明していきます。
![](https://i.gyazo.com/7c9dfd2ec24b83c9f5208b23b4dd9b0f.png)
ここでは、MAX関数を使いましょう。(この情報はNADJAの室田さんに教えて頂きました。ありがとうございます)
MAX関数 は、選択した範囲の中で一番大きいデータのみを抽出することができます。
先ほどのEmailの抽出のように、今度はPointをKeyとして、max()で括りましょう。
![](https://i.gyazo.com/d6f241c43508f9f711c724c3d12ab938.png)
これを出力すると、Point Rankは、こんな感じになります。
![](https://i.gyazo.com/2d2c7e8c17b4084c4b43744721606f06.png)
このままだとNameが記載されてませんね💦
Nameの値は、Search RecordsでCreatしたKeyの値を読みとり、配列の中のAirtableIDを引っ張ればOKです。
![](https://i.gyazo.com/edb7b5803ed1d8c484c6d21b849ec7e5.png)
より詳細なMAP()に関しては、公式ドキュメント を参考にしていきましょう。
Youtube動画もあります。