Sobes.tech
Back to tasks
Junior — Senior
41

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

Companies where asked:

СБЕРСБЕР
Get help with live coding in real time with Sobes Copilot
Task condition

В данном примере рассматривается массив, который может содержать как вложенные массивы, так и 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)