Spec-Zone.ru › ColdFusion

structMap

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

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

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

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

  • CF11+
  • Lucee4.5+
  • BL 1.0.0+
  • См. также: structEach structSome structReduce structFilter

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

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

    Входная структура.

    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

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

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

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

    Синтаксис скрипта

    original = {
        "one": {
            1: "tahi"
        },
        "two": {
            2: "rua"
        },
        "three": {
            3: "toru"
        },
        "four": { 
            4: "wha"
        }
    };
    function mapOriginal(k,v) {
        return v[ListFirst(v.keyList())];
    }
    fixed = structMap(original,mapOriginal);
    writeDump([original, fixed]);

    Использование функции-члена

    CF 11+ Lucee 4.5+

    original = {
        "one": {
            1: "tahi"
        },
        "two": {
            2: "rua"
        },
        "three": {
            3: "toru"
        },
        "four": {
            4: "wha"
        }
    };
    fixed = original.map(function(k,v) {
        return v[ListFirst(v.keyList())];
    });
    writeDump([original, fixed]);

    © 2012–present Foundeo, Inc. and the CFDocs contributors.
    Licensed under the MIT License.
    ColdFusion is a trademark of Adobe Systems Incorporated.
    https://cfdocs.org/structmap

    Spec-Zone.ru

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