Какой будет вывод? №29

Будет напечатано ["john", "james", "louis", "vincent"]: возраст увеличивается как 23, 24, 29, 34.

Короткий ответ

Что ответить на собеседовании

Будет напечатано ["john", "james", "louis", "vincent"]: возраст увеличивается как 23, 24, 29, 34.

Подробный разбор

Ответ с пояснениями

Условие

В задаче дан словарь, где ключами являются имена, а значениями — возраст людей. Требуется упорядочить элементы словаря по возрасту в порядке возрастания и вывести только имена в получившемся порядке.

let peopleAges = ["john": 23, "james": 24, "vincent": 34, "louis": 29]

let sortedNames = peopleAges.sorted(by: { $0.1 < $1.1 }).map { $0.0 }

print(sortedNames)

Какой результат будет напечатан на консоль?

Ответ

Будет напечатано ["john", "james", "louis", "vincent"]: возраст увеличивается как 23, 24, 29, 34.

sorted преобразует элементы Dictionary в отсортированный массив пар, сравнивая их значения .1. Затем map { $0.0 } оставляет ключи, то есть имена. Исходный словарь не приобретает постоянного порядка сортировки. Здесь все возраста различаются, поэтому ответ однозначный. Если возраста совпадут, для предсказуемого порядка имён добавьте вторичный критерий сравнения ключей.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее