Spec-Zone.ru › ColdFusion

structEach

Используется для перебора элементов структуры с помощью пар «ключ-значение».

structEach(struct,function(key, value [, struct]){} [, parallel] [, maxThreads]) → returns void

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

someStruct.each(function(key, value [, struct]){} [, parallel] [, maxThreads])

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

    Справочник аргументов

    struct string
    Обязательный

    Структура или переменная, содержащая структуру.

    callback any
    Обязательный

    Замыкание или ссылка на функцию, которая будет вызываться при каждой итерации.

    Параметры обратного вызова:

    • key* string : Ключ текущей итерации
    • value* any : Значение текущей итерации
    • struct* struct : Ссылка на исходную структуру

    parallel boolean
    По умолчанию: false

    Lucee 4.5+ значение true, если элементы можно выполнять параллельно
    Значения:
    • true
    • false

    maxThreads numeric
    По умолчанию: 20

    Lucee 4.5+ максимальное количество потоков, используемых при parallel = true

    Ссылки дополнительная информация о structEach

    • Map, Reduce и другие функции высшего порядка — введение в map, reduce, filter и функции высшего порядка в целом.
    • ColdFusion 11: .map() и .reduce() — обзор новых методов .map() и .reduce(), доступных для массивов, структур и списков.

    Примеры
    Пример кода, вызывающего функцию structEach

    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

    Spec-Zone.ru

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