queryReduce
Сворачивает столбцы запроса, как в массиве или коллекции
queryReduce(query, function(result, row [, currentRow] [, query]){} [, initialVal]) → returns any
Описание аргументов
query query Обязательный
запрос, записи которого нужно обработать
callback any Обязательный
Замыкание или ссылка на функцию, которая будет вызываться на каждой итерации.
Параметры callback:
-
result* any : Результат операции свёртки после предыдущей итерации -
row* struct : Структура со всеми столбцами для текущей итерации -
currentRow* numeric : Значение для текущей итерации -
query* query : Ссылка на исходный запрос
initialValue any
начальное значение, передаваемое при первом вызове замыкания
Ссылки дополнительная информация о queryReduce
- Map, Reduce и другие функции высшего порядка - Введение в map, reduce, filter и функции высшего порядка в целом.
- ColdFusion 2016: функции итерации запросов - Обзор функций высшего порядка, доступных для запросов
Примеры Пример кода, вызывающего функцию queryReduce
Сложить значения одного столбца запроса
fruits = queryNew("fruit,amount",
"varchar,integer", [{
"fruit": "apples",
"amount": 15
}, {
"fruit": "pineapples",
"amount": 3
}, {
"fruit": "strawberries",
"amount": 32
}]
);
total_fruits = queryReduce(fruits,function(a,b) {
return a + b.amount;
},0);
writeOutput(total_fruits); Ожидаемый результат: 50
© 2012–present Foundeo, Inc. and the CFDocs contributors.
Licensed under the MIT License.
ColdFusion is a trademark of Adobe Systems Incorporated.
https://cfdocs.org/queryreduce