Junior — Middle
Принсипи кори усули Flat Map ва фарқияти он бо Map оддӣ дар коркарди коллексияҳои додаҳоро шарҳ диҳед.
sobes.tech AI
Ҷавоб аз AI
Методи map ҳар як элементро ҷамъиятро бо истифода аз функсия табдил медиҳад ва натиҷаҳои массивро бармегардонад. Агар функсия коллеция баргардонад, натиҷа массиви коллецияҳоро хоҳад буд.
flatMap аввал функсияро ба ҳар як элемент татбиқ мекунад, монанди map, аммо сипас коллецияҳои дохилшударо ба як массиви ҳамвор (flatten) мекунад.
Масалан:
let numbers = [1, 2, 3]
// map бо функсия, ки массив бармегардонад
let mapped = numbers.map { Array(repeating: $0, count: $0) }
// mapped = [[1], [2, 2], [3, 3, 3]]
// flatMap бо ҳамин функсия
let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
// flatMapped = [1, 2, 2, 3, 3, 3]
Бинобар ин, flatMap дар ҳолатҳои, ки функсия коллеция баргардонад, барои гирифтани як массиви ҳамвор бе массивҳои дохилӣ, муфид аст.