Назад к задачам
Intern — Middle
13

Какой вывод получим? – вариант 28

Компании, где спрашивали:

Вкусвилл АвтомаконВкусвилл Автомакон
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

В этом примере мы создаём структуру CelestialBody, содержащую название и расстояние от Солнца, формируем массив объектов и затем применяем к нему два стандартных алгоритма коллекций: map для получения списка названий и reduce для подсчёта общей суммы расстояний.

struct CelestialBody {
    let designation: String
    let orbitalRadius: Double
}

let bodies = [
    CelestialBody(designation: "Mercury", orbitalRadius: 0.387),
    CelestialBody(designation: "Venus", orbitalRadius: 0.722),
    CelestialBody(designation: "Earth", orbitalRadius: 1.0),
    CelestialBody(designation: "Mars", orbitalRadius: 1.52),
    CelestialBody(designation: "Jupiter", orbitalRadius: 5.20),
    CelestialBody(designation: "Saturn", orbitalRadius: 9.58),
    CelestialBody(designation: "Uranus", orbitalRadius: 19.2),
    CelestialBody(designation: "Neptune", orbitalRadius: 30.1)
]

let namesList = bodies.map { $0.designation }
let totalDistance = bodies.reduce(0) { $0 + $1.orbitalRadius }