я преобразовал вложенный цикл for
во вложенный вызов map
. мне было интересно, есть ли более элегантный способ реализовать это.
вот функция, которая принимает Array
из Item
s и Array
функций (Item -> Item
) и возвращает массив со всеми функциями, примененными к каждому элементу:
typealias Item = Dictionary<String, String>
func updatedItems(items: Array<Item>, fns: Array<Item -> Item>) -> Array<Item> {
return items.map {
item in
var itemCopy = item
fns.map { fn in itemCopy = fn(itemCopy) }
return itemCopy
}
}