Работа с массивом: получение полных ФИО, суммирование зарплат и поиск по фамилии

Используйте map для полных имён, reduce для суммы зарплат и filter для фамилии Rose. Сумма равна 2900; условию по фамилии соответствуют John и Margo.

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

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

Используйте map для полных имён, reduce для суммы зарплат и filter для фамилии Rose. Сумма равна 2900; условию по фамилии соответствуют John и Margo.

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

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

Условие

Есть массив объектов, каждый из которых содержит имя персонажа, пол, фамилию и размер зарплаты. Требуется выполнить три операции: собрать массив строк, где каждое значение — полное имя (имя + пробел + фамилия), посчитать суммарную величину зарплат всех элементов и вывести список всех записей, у которых фамилия совпадает с "Rose".

const data = [
    {
        "charname": "John",
        "gender": "Male",
        "surname": "Rose",
        "salary": 100
    },
    {
        "charname": "Margo",
        "gender": "Female",
        "surname": "Rose",
        "salary": 1200
    },
    {
        "charname": "Lisa",
        "gender": "Male",  // Возможно опечатка? Должно быть "Female"?
        "surname": "Barcley",
        "salary": 1600
    }
];

Ответ

Используйте map для полных имён, reduce для суммы зарплат и filter для фамилии Rose. Сумма равна 2900; условию по фамилии соответствуют John и Margo.

Решение:

const names = data.map(p => `${p.charname} ${p.surname}`);
const total = data.reduce((sum, p) => sum + p.salary, 0);
const roses = data.filter(p => p.surname === 'Rose');

Имена: John Rose, Margo Rose, Lisa Barcley. Начальный 0 позволяет обработать пустой массив. Salary здесь предполагается числом, иначе нужна валидация. Пол gender не влияет на результат; предположение в комментарии не является основанием менять данные.

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

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

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

Подробнее