Функции коллекций 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)]"
Следующие шаги
- Общие сведения об Azure Resource Manager см. в этой статье.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по