Поделиться через


Функции коллекций 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')]"

empty

Возвращает true, если строка, массив или объект имеет значение null или является пустым.

Пример: строка пуста

В следующем примере возвращается true.

"[empty('')]"

Пример: массив пуст

Предположим, что element1 возвращает [1, 2, 3]. В следующем примере возвращается false.

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

Пример: объект пуст

Предположим, что element1 возвращает:

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

В следующем примере возвращается false.

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

Пример: null и не определено

Предположим, что element1 имеет значение null или не определено. В следующем примере возвращается true.

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

Фильтр

Возвращает новый массив после применения логики фильтрации, предоставляемой в виде лямбда-функции. Первый параметр — это массив, используемый для фильтрации. Вторым параметром является лямбда-функция, указывающая логику фильтрации.

В примере кода ниже возвращается массив [ { "name": "abc" } ].

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

первая

Возвращает первый знак указанной строки, первое значение указанного массива или первый ключ и значение указанного объекта.

Пример: первый символ строки

В следующем примере возвращается "c".

"[first('contoso')]"

Пример: первое значение массива

Предположим, что element1 возвращает [1, 2, 3]. В следующем примере возвращается 1.

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

Пример: первый элемент объекта

Предположим, что element1 возвращает:

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

В следующем примере возвращается {"key1": "Linux"}.

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

последняя

Возвращает последний знак указанной строки, последнее значение указанного массива или последний ключ и значение указанного объекта.

Пример: последний символ строки

В следующем примере возвращается "o".

"[last('contoso')]"

Пример: последнее значение массива

Предположим, что element1 возвращает [1, 2, 3]. В следующем примере возвращается 3.

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

Пример: последний элемент объекта

Предположим, что element1 возвращает:

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

В следующем примере возвращается {"key2": "Windows"}.

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

length

Возвращает количество символов в строке, количество значений в массиве или количество ключей в объекте.

Пример: количество символов в строке

В следующем примере возвращается 7.

"[length('Contoso')]"

Пример: количество значений в массиве

Предположим, что element1 возвращает [1, 2, 3]. В следующем примере возвращается 3.

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

Пример: количество элементов в объекте

Предположим, что element1 возвращает:

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

В следующем примере возвращается 2.

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

map

Возвращает новый массив после вызова лямбда-функции для предоставленного массива. Первый параметр — это массив, используемый для лямбда-функции. Вторым параметром является лямбда-функция.

В примере ниже возвращается новый массив, в котором каждое значение удвоено. Результат [2, 4, 6].

"[map(parse('[1, 2, 3]'), (item) => mul(2, item))]"

В образце кода ниже возвращается новый массив ["abc", "xyz"].

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

skip

Пропускает заданное число элементов в коллекции и возвращает остальные элементы.

Пример: пропуск в строке

В следующем примере возвращается "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)]"

split

Возвращает массив строк, содержащий подстроки, полученные на основе входных данных с разделителями.

В примере кода ниже возвращается массив [ "555", "867", "5309" ].

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

take

Возвращает указанное число последовательных знаков, считая от начала строки, указанное число непрерывных значений от начала массива или указанное число последовательных ключей и значений от начала объекта.

Пример: получение из строки

В следующем примере возвращается "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)]"

Следующие шаги