Spec-Zone.ru › ColdFusion

structReduce

Выполняет итерацию по каждой записи структуры и вызывает замыкание для обработки пары «ключ-значение» структуры. Эта функция сводит структуру к одному значению и возвращает его.

structReduce(struct, function(result, key, value [,struct]){} [, initialVal]) → returns any

Синтаксис функции-члена

someStruct.reduce(function(result, key, value [,struct]){} [, initialVal])

  • CF11+
  • Lucee
  • BL 1.0.0+
  • См. также: structEach structSome structMap structFilter

    Аргументы

    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

    Spec-Zone.ru

    Настройки Оффлайн Что нового Помощь О нас
    Spec-Zone .ru
    спецификации, руководства, описания, API