structReduce
Выполняет итерацию по каждой записи структуры и вызывает замыкание для обработки пары «ключ-значение» структуры. Эта функция сводит структуру к одному значению и возвращает его.
structReduce(struct, function(result, key, value [,struct]){} [, initialVal]) → returns any
Синтаксис функции-члена
someStruct.reduce(function(result, key, value [,struct]){} [, initialVal])
Аргументы
struct struct Обязательный
Входная структура.
callback any Обязательный
Замыкание или ссылка на функцию, которая будет вызываться при каждой итерации.
Параметры обратного вызова:
-
result* any : Результат операции свёртки после предыдущей итерации -
key* string : Ключ текущей итерации -
value* any : Значение текущей итерации -
struct* struct : Ссылка на исходную структуру
initialVal any
Начальное значение, используемое для операции свёртки.
Ссылки дополнительная информация о structReduce
- Map, Reduce и другие функции высшего порядка — введение в map, reduce, filter и функции высшего порядка в целом.
- ColdFusion 11: .map() и .reduce() — обзор новых методов .map() и .reduce(), доступных для массивов, структур и списков
Примеры Пример кода, вызывающего функцию structReduce
rainbow = { "Red"="Whero", "Orange"="Karaka", "Yellow"="Kowhai", "Green"="Kakariki" };
ui = structReduce( rainbow, function(previousValue, key, value)
{
return previousValue & "<dt>#key#</dt><dd>#value#</dd>";
},
"<dl>"
) & "</dl>";
writeDump(rainbow);
writeOutput(ui);
CF 11+ Lucee 4.5+
rainbow = { "Red"="Whero", "Orange"="Karaka", "Yellow"="Kowhai", "Green"="Kakariki" };
ui = rainbow.reduce( function(previousValue, key, value)
{
return previousValue & "<dt>#key#</dt><dd>#value#</dd>";
},
"<dl>"
) & "</dl>";
writeDump(rainbow);
writeOutput(ui);
© 2012–present Foundeo, Inc. and the CFDocs contributors.
Licensed under the MIT License.
ColdFusion is a trademark of Adobe Systems Incorporated.
https://cfdocs.org/structreduce