structMap
Перебирает все записи структуры и вызывает функцию-замыкание для обработки пары ключ-значение структуры. Возвращённое значение будет установлено для того же ключа в новой структуре, после чего новая структура будет возвращена.
structMap(struct, function(key, value [,struct]){} [, parallel] [, maxThreads]) → returns struct
Синтаксис функции-члена
someStruct.map(function(key, value [,struct]){} [, parallel] [, maxThreads])
Справочник по аргументам
struct struct Обязательный
Входная структура.
callback any Обязательный
Замыкание или ссылка на функцию, которая будет вызываться на каждой итерации.
Параметры обратного вызова:
-
key* string : Ключ текущей итерации -
value* any : Значение текущей итерации -
struct* struct : Ссылка на исходную структуру
parallel boolean
По умолчанию: false
false
Lucee 4.5+ true, если элементы можно выполнять параллельно
Значения:
truefalse
maxThreads numeric
По умолчанию: 20
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