Spec-Zone.ru › ColdFusion

structFilter

Используется для фильтрации пар «ключ-значение» в структуре.

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

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

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

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

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

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

    Имя структуры, которую необходимо отфильтровать

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

    Замыкание или ссылка на функцию, которая будет вызываться на каждой итерации. Возвращает true, если пару «ключ-значение» в структуре следует включить в отфильтрованную структуру. Поддержка передачи исходной структуры в функцию-замыкание добавлена в CF11 Update 5.

    Параметры callback:

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

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

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

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

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

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

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

    Примеры
    Пример кода с вызовом функции structFilter

    Пример с простым числовым сравнением

    Возьмём структуру элементов с указанием их рейтинга и используем structFilter, чтобы вернуть элементы с рейтингом 3 и выше.

    fruitRatings = {apple=4,banana=1,orange=5,mango=2,kiwi=3};
    
    favoriteFruits = structFilter(fruitRatings, function(key, value){
         return value >= 3;
    });
    writedump(favoriteFruits);

    Ожидаемый результат: {apple=4,orange=5,kiwi=3}

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

    Это тот же пример, но вместо отдельной функции используется функция-член структуры.

    fruitRatings = {apple=4,banana=1,orange=5,mango=2,kiwi=3};
    
    favoriteFruits = fruitRatings.filter(function(key, value){
         return value >= 3;
    });
    writedump(favoriteFruits);

    Ожидаемый результат: {apple=4,orange=5,kiwi=3}

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

    Spec-Zone.ru

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