共用方式為


CreateUiDefinition 集合函數

這些函式可以搭配集合使用,例如 JSON 字串、陣列和物件。

contains

如果字串包含指定的子字串、陣列包含指定的值,或是物件包含指定的索引鍵,則傳回 true

範例:string contains

下列範例會傳回 true

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

範例:array contains

假設 element1 傳回 [1, 2, 3]。 下列範例會傳回 false

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

範例:object contains

假設 element1 傳回:

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

下列範例會傳回 true

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

empty

如果字串、陣列或物件為 null 或空白,則傳回 true

範例:string empty

下列範例會傳回 true

"[empty('')]"

範例:array empty

假設 element1 傳回 [1, 2, 3]。 下列範例會傳回 false

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

範例:object empty

假設 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')]"

範例:array first

假設 element1 傳回 [1, 2, 3]。 下列範例會傳回 1

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

範例:object first

假設 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)]"

範例:object last

假設 element1 傳回:

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

下列範例會傳回 {"key2": "Windows"}

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

length

傳回字串中的字元數目、陣列中的值數目或物件中的索引鍵數目。

範例:string length

下列範例會傳回 7

"[length('Contoso')]"

範例:array length

假設 element1 傳回 [1, 2, 3]。 下列範例會傳回 3

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

範例:object 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

略過集合中指定數目的元素,然後傳回其餘的元素。

範例:string skip

下列範例會傳回 "app"

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

範例:array skip

假設 element1 傳回 [1, 2, 3]。 下列範例會傳回 [3]

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

範例:object skip

假設 element1 傳回:

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

下列範例會傳回 {"key2": "Windows"}

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

split

傳回字串陣列,其中包含以分隔符號分隔的輸入子字串。

下列範例會傳回陣列 [ "555", "867", "5309" ]

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

take

傳回從字串開頭指定數目的連續字元、從陣列開頭指定數目的連續值,或從物件開頭指定數目的連續索引鍵和值。

範例:string take

下列範例會傳回 "web"

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

範例:array take

假設 element1 傳回 [1, 2, 3]。 下列範例會傳回 [1, 2]

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

範例:object take

假設 element1 傳回:

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

下列範例會傳回 {"key1": "Linux"}

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

下一步