CreateUiDefinition 集合函数

这些函数可用于集合,如 JSON 字符串、数组和对象。

包含

如果 true 字符串包含指定的子字符串、数组包含指定值或对象包含指定的键,则返回。

示例:字符串包含

以下示例返回 true

"[contains('webapp', 'web')]"

示例:数组包含

假定element1返回 。[1, 2, 3] 以下示例返回 false

"[contains(steps('demoStep').element1, 4)]"

示例:对象包含

假定 element1 返回:

{
  "key1": "Linux",
  "key2": "Windows"
}

以下示例返回 true

"[contains(steps('demoStep').element1, 'key1')]"

如果字符串、数组或对象为 null 或为空,则 true 返回。

示例:字符串为空

以下示例返回 true

"[empty('')]"

示例:数组为空

假定element1返回 。[1, 2, 3] 以下示例返回 false

"[empty(steps('demoStep').element1)]"

示例:对象为空

假定 element1 返回:

{
  "key1": "Linux",
  "key2": "Windows"
}

以下示例返回 false

"[empty(steps('demoStep').element1)]"

示例:null 和未定义

假定 element1null 或未定义。 以下示例返回 true

"[empty(steps('demoStep').element1)]"

过滤器

应用作为 lambda 函数提供的筛选逻辑后,返回一个新数组。 第一个参数是用于筛选的数组。 第二个参数是指定筛选逻辑的 lambda 函数。

下面的示例返回数组 [ { "name": "abc" } ]

"[filter(parse('[{\"name\":\"abc\"},{\"name\":\"xyz\"}]'), (item) => contains(item.name, 'abc'))]"

第一

返回指定字符串的第一个字符;指定数组的第一个值;或指定对象的第一个键和值。

示例:string first

以下示例返回 "c"

"[first('contoso')]"

示例:首先数组

假定element1返回 。[1, 2, 3] 以下示例返回 1

"[first(steps('demoStep').element1)]"

示例:第一个对象

假定 element1 返回:

{
  "key1": "Linux",
  "key2": "Windows"
}

以下示例返回 {"key1": "Linux"}

"[first(steps('demoStep').element1)]"

最后

返回指定字符串的最后一个字符、指定数组的最后一个值或指定对象的最后一个键和值。

示例:string last

以下示例返回 "o"

"[last('contoso')]"

示例:array last

假定element1返回 。[1, 2, 3] 以下示例返回 3

"[last(steps('demoStep').element1)]"

示例:对象 last

假定 element1 返回:

{
  "key1": "Linux",
  "key2": "Windows"
}

以下示例返回 {"key2": "Windows"}

"[last(steps('demoStep').element1)]"

长度

返回字符串中的字符数、数组中的值数或对象中的键数。

示例:字符串长度

以下示例返回 7

"[length('Contoso')]"

示例:数组长度

假定element1返回 。[1, 2, 3] 以下示例返回 3

"[length(steps('demoStep').element1)]"

示例:对象长度

假定 element1 返回:

{
  "key1": "Linux",
  "key2": "Windows"
}

以下示例返回 2

"[length(steps('demoStep').element1)]"

地图

在对提供的数组调用 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)]"

跳过

绕过集合中的指定数量的元素,然后返回其余元素。

示例:字符串跳过

以下示例返回 "app"

"[skip('webapp', 3)]"

示例:数组跳过

假定element1返回 。[1, 2, 3] 以下示例返回 [3]

"[skip(steps('demoStep').element1, 2)]"

示例:对象跳过

假定 element1 返回:

{
  "key1": "Linux",
  "key2": "Windows"
}

以下示例返回 {"key2": "Windows"}

"[skip(steps('demoStep').element1, 1)]"

分裂

返回包含由分隔符分隔的输入的子字符串的字符串数组。

下面的示例返回数组 [ "555", "867", "5309" ]

"[split('555-867-5309', '-')]"

从字符串开头返回指定的连续字符数、数组开头的指定连续值数或对象开头的指定数量的连续键和值。

示例:字符串采用

以下示例返回 "web"

"[take('webapp', 3)]"

示例:数组采用

假定element1返回 。[1, 2, 3] 以下示例返回 [1, 2]

"[take(steps('demoStep').element1, 2)]"

示例:对象采用

假定 element1 返回:

{
  "key1": "Linux",
  "key2": "Windows"
}

以下示例返回 {"key1": "Linux"}

"[take(steps('demoStep').element1, 1)]"

后续步骤