概要
「気ままに勉強会 #09」Power Automateで配列を操る -関数編で勉強させていただきました。Miyake Mitoさんが解説してくださいました。その時の資料と解説をノートにしました。
関数
配列を作る
# array() 配列単体値
array(6)
[
6
]
# createArray() 配列複数値
createArray(5,3,1)
[
5,
3,
1
]
配列を調べる
# contains() コレクションに対象の値を含むか
contains(outputs('createArray()_配列複数値'), 3)
true
# Empty() コレクションが空か
empty(outputs('createArray()_配列複数値'))
false
# length() 文字数または配列の項目数
length(outputs('createArray()_配列複数値'))
3
配列から要素を取得
# first() 文字列または配列から最初の項目を取得
first(outputs('createArray()_配列複数値'))
5
# last() 文字列または配列から最後の項目を取得
last(outputs('createArray()_配列複数値'))
1
# 配列からIndexで項目を取得
outputs('createArray()_配列複数値')[1]
3
# skip() 文字列または配列からn個目以降の項目を取得
skip(outputs('createArray()_配列複数値'), 2)
[
1
]
# take() 文字列または配列の先頭からn個の項目を取得
take(outputs('文字列'),2)
ab
# join() 配列を指定した文字列で結合 戻り値は文字列
join(outputs('createArray()_配列複数値'), ',')
5,3,1
複数配列から要素を取得
# intersection() 複数配列から共通する要素を取得
intersection(outputs('array()_配列単体値'), outputs('createArray()_配列複数値'))
[] ※表示は「クリックしてダウンロードします」になっていた
# union() 複数配列から全ての要素を取得する
union(outputs('array()_配列単体値'), outputs('createArray()_配列複数値'))
[
6,
5,
3,
1
]
文字列の加工
# split() 文字列を指定した文字で分割し配列にする
split(outputs('文字列'),'c')
[
"ab",
"de"
]
# replace() 文字列の指定した文字を置換
replace(outputs('文字列'),'a','z')
zbcde
配列から要素を取得 数値
# min() 配列要素の最小値
min(outputs('createArray()_配列複数値'))
1
# max() 配列要素の最大値
max(outputs('createArray()_配列複数値'))
5
# range() 整数の配列で範囲を返す
range(0,10)
[
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
]
JSONオブジェクトの加工
# JSON
{
"name": "a",
"value": 10
}
# addProperty() JSONに要素追加
addProperty(outputs('JSON'), 'type', 'c')
{
"name": "a",
"value": 10,
"type": "c"
}
# setProperty() JSON要素内の値変更
setProperty(outputs('addProperty()_JSONに要素追加'), 'type', 'a')
{
"name": "a",
"value": 10,
"type": "a"
}
# JSON子要素あり docs sample
{
"customerName": {
"firstName": "Sophia",
"surName": "Owen"
}
}
# setProperty() addProperty複合() JSON子要素に追加
setProperty(outputs('JSON子要素あり'), 'customerName', addProperty(outputs('JSON子要素あり')['customerName'], 'middleName', 'Anne'))
{
"customerName": {
"firstName": "Sophia",
"surName": "Owen",
"middleName": "Anne"
}
}
応用
HiroさんのPower Automateでのソート (Loopなし)とPower Automate で配列をシャッフルする方法をご紹介いただきました。
やってみるとわかるその凄さ!
まとめ
はずかしながらApply for eachのままのフローが結構あります。手をうごかし復習したいと思い参加させて頂きました。今後のリファクタリングに活かしたいと思います。Miyake Mitoさんと主催者のたなさんに感謝です!