Позвольте быть Предположим, у вас есть let myArray = [1,2,3,4,5,6,7,8]
Теперь вы хотите, чтобы квадрат каждого элемента в массиве,
С для l oop вы делаете это
for item in myArray {
print(item * item)
}
Теперь предположим, item = $0
С для map вы делаете
myArray.map({ $0 * $0 })
Оба будут давать одинаковый вывод.
map: Используется для выполнения одинаковых операций с каждым элементом массива.
flatmap: Используется для выравнивания массива массива.
let myArr = [[1,2,3],[4,5,6,7]]
и вы хотите o / p как [1,2,3,4,5,6,7]
Таким образом, вы можете получить вывод выше с myArr.flatMap({$0})
Теперь вернемся к вашему вопросу.
let reqArray = myModel.data.map({ $0.value }).flatMap({ $0 })
Во-первых, map
дает вам массив-массив ключа value
, но вам нужен один массив, поэтому для этого вам нужно использовать flatmap.
Вы можете взять ref: https://medium.com/@Dougly / функции высшего порядка в быстрой сортировке-сопоставлении-фильтра-редукции-dff60b5b6adf