CreateUiDefinition 集合函数
这些函数可用于集合,如 JSON 字符串、数组和对象。
contains
如果字符串包含指定子字符串、数组包含指定值,或对象包含指定键,则返回 true
。
示例:字符串 contains
以下示例返回 true
:
"[contains('webapp', 'web')]"
示例:数组 contains
假设 element1
返回 [1, 2, 3]
。 以下示例返回 false
:
"[contains(steps('demoStep').element1, 4)]"
示例:对象 contains
假设 element1
返回:
{
"key1": "Linux",
"key2": "Windows"
}
以下示例返回 true
:
"[contains(steps('demoStep').element1, 'key1')]"
empty
如果字符串、数组或对象为 null 或为空,则返回 true
。
示例:字符串 empty
以下示例返回 true
:
"[empty('')]"
示例:数组 empty
假设 element1
返回 [1, 2, 3]
。 以下示例返回 false
:
"[empty(steps('demoStep').element1)]"
示例:对象 empty
假设 element1
返回:
{
"key1": "Linux",
"key2": "Windows"
}
以下示例返回 false
:
"[empty(steps('demoStep').element1)]"
示例:null 和未定义
假设 element1
为 null
或未定义。 以下示例返回 true
:
"[empty(steps('demoStep').element1)]"
filter
在应用作为 lambda 函数提供的筛选逻辑后返回新数组。 第一个参数是要用于筛选的数组。 第二个参数是指定筛选逻辑的 lambda 函数。
下面的示例返回数组 [ { "name": "abc" } ]
。
"[filter(parse('[{\"name\":\"abc\"},{\"name\":\"xyz\"}]'), (item) => contains(item.name, 'abc'))]"
first
返回指定字符串的第一个字符、指定数组的第一个值,或指定对象的第一个键和值。
示例:字符串 first
以下示例返回 "c"
:
"[first('contoso')]"
示例:数组 first
假设 element1
返回 [1, 2, 3]
。 以下示例返回 1
:
"[first(steps('demoStep').element1)]"
示例:对象 first
假设 element1
返回:
{
"key1": "Linux",
"key2": "Windows"
}
以下示例返回 {"key1": "Linux"}
:
"[first(steps('demoStep').element1)]"
last
返回指定字符串的最后一个字符、指定数组的最后一个值,或指定对象的最后一个键和值。
示例:字符串 last
以下示例返回 "o"
:
"[last('contoso')]"
示例:数组 last
假设 element1
返回 [1, 2, 3]
。 以下示例返回 3
:
"[last(steps('demoStep').element1)]"
示例:对象 last
假设 element1
返回:
{
"key1": "Linux",
"key2": "Windows"
}
以下示例返回 {"key2": "Windows"}
:
"[last(steps('demoStep').element1)]"
length
返回字符串中的字符数、数组中的值数,或对象中的键数。
示例:字符串 length
以下示例返回 7
:
"[length('Contoso')]"
示例:数组 length
假设 element1
返回 [1, 2, 3]
。 以下示例返回 3
:
"[length(steps('demoStep').element1)]"
示例:对象 length
假设 element1
返回:
{
"key1": "Linux",
"key2": "Windows"
}
以下示例返回 2
:
"[length(steps('demoStep').element1)]"
map
在对提供的数组调用 lambda 函数后返回新数组。 第一个参数是要用于 lambda 函数的数组。 第二个参数是 lambda 函数。
下面的示例返回一个新数组,其中的每个值都加倍。 结果为 [2, 4, 6]
。
"[map(parse('[1, 2, 3]'), (item) => mul(2, item))]"
下面的示例返回新数组 ["abc", "xyz"]
。
"[map(parse('[{\"name\":\"abc\"},{\"name\":\"xyz\"}]'), (item) => item.name)]"
skip
跳过集合中指定数量的元素,返回其余元素。
示例:字符串 skip
以下示例返回 "app"
:
"[skip('webapp', 3)]"
示例:数组 skip
假设 element1
返回 [1, 2, 3]
。 以下示例返回 [3]
:
"[skip(steps('demoStep').element1, 2)]"
示例:对象 skip
假设 element1
返回:
{
"key1": "Linux",
"key2": "Windows"
}
以下示例返回 {"key2": "Windows"}
:
"[skip(steps('demoStep').element1, 1)]"
split
返回一个字符串数组,其中包含输入的子字符串(由分隔符分隔)。
下面的示例返回数组 [ "555", "867", "5309" ]
。
"[split('555-867-5309', '-')]"
take
返回字符串起始处指定数量的连续字符、数组起始处指定数量的连续值,以及对象起始处的指定数量的连续键和值。
示例:字符串 take
以下示例返回 "web"
:
"[take('webapp', 3)]"
示例:数组 take
假设 element1
返回 [1, 2, 3]
。 以下示例返回 [1, 2]
:
"[take(steps('demoStep').element1, 2)]"
示例:对象 take
假设 element1
返回:
{
"key1": "Linux",
"key2": "Windows"
}
以下示例返回 {"key1": "Linux"}
:
"[take(steps('demoStep').element1, 1)]"
后续步骤
- 有关 Azure 资源管理器的简介,请参阅 Azure 资源管理器概述。