structEach
Используется для перебора элементов структуры с помощью пар «ключ-значение».
structEach(struct,function(key, value [, struct]){} [, parallel] [, maxThreads]) → returns void
Синтаксис функции-члена
someStruct.each(function(key, value [, struct]){} [, parallel] [, maxThreads])
Справочник аргументов
struct string Обязательный
Структура или переменная, содержащая структуру.
callback any Обязательный
Замыкание или ссылка на функцию, которая будет вызываться при каждой итерации.
Параметры обратного вызова:
-
key* string : Ключ текущей итерации -
value* any : Значение текущей итерации -
struct* struct : Ссылка на исходную структуру
parallel boolean
По умолчанию: false
false
Lucee 4.5+ значение true, если элементы можно выполнять параллельно
Значения:
truefalse
maxThreads numeric
По умолчанию: 20
20
Lucee 4.5+ максимальное количество потоков, используемых при parallel = true
Ссылки дополнительная информация о structEach
- Map, Reduce и другие функции высшего порядка — введение в map, reduce, filter и функции высшего порядка в целом.
- ColdFusion 11: .map() и .reduce() — обзор новых методов .map() и .reduce(), доступных для массивов, структур и списков.
Примеры Пример кода, вызывающего функцию structEach
Используйте функцию, чтобы вывести ключи структуры на экран
someStruct = {a=1,b=2,c=3};
structEach(someStruct,function(key,value) {
writeOutput('Key ' & key & ' is ' & value & '; ');
}); Ожидаемый результат: Ключ a — 1; Ключ b — 2; Ключ c — 3;
favs = {color: 'blue', food: 'pizza', sport: 'basketball'};
// named function
// notice that the function takes two arguments, the key and value pair of the current iteration of the structure's key-value pairs
function getFavorites(key, value) {
writeOutput('My favorite ' & key & ' is ' & value);
}
// run structEach() with a named function
structEach(favs,getFavorites);
// run structEach() with an inline function
structEach(favs, function(key,value) {
writeOutput('My favorite ' & key & ' is ' & value);
});
CF 11+ Lucee 4.5+
statusCodes = {
OK = 200,
CREATED = 201,
NOT_MODIFIED = 304,
BAD_REQUEST = 400,
NOT_FOUND = 404
};
statusCodes.each(function(key, value) {
writeOutput("#key# => #value#<br />");
}); Ожидаемый результат: NOT_FOUND => 404 BAD_REQUEST => 400 CREATED => 201 OK => 200 NOT_MODIFIED => 304
Lucee 4.5+
statusCodes = {
OK = 200,
CREATED = 201,
NOT_MODIFIED = 304,
BAD_REQUEST = 400,
NOT_FOUND = 404
};
statusCodes.each(function(key, value, struct) {
writeDump(struct);
});
© 2012–present Foundeo, Inc. and the CFDocs contributors.
Licensed under the MIT License.
ColdFusion is a trademark of Adobe Systems Incorporated.
https://cfdocs.org/structeach