Sobes.tech
Junior — Senior
95

Какой вывод получим в примере №20

被问到的公司:

СБЕРСБЕР
任务条件

В данном примере рассматривается массив, который может содержать как вложенные массивы, так и nil. Необходимо понять, какие значения будут напечатаны после выполнения трёх последовательных операторов print. Обратите внимание на различия между методами map, compactMap и flatMap при работе с опциональными элементами.

let matrix = [[1, 2], nil, [3, 4], [nil, 5], nil]

print(matrix.map { $0?.count })
print(matrix.compactMap { $0 }.count)
print(matrix.compactMap { $0 }.flatMap { $0 }.count)