Перейти к содержимому
Задача · Итоговый проект · урок 5 из 7

Задача: слияние отсортированных отчётов

Две кассы магазина присылают отчёты о продажах. Отчёт — массив пар [id, qty]: номер товара и сколько единиц продано, пары идут по возрастанию id. Напишите функцию function mergeSales(a, b), которая возвращает общий отчёт в том же виде: товары из a и b по возрастанию id, а для товара из обоих отчётов — одна пара с суммой количеств.

  • mergeSales([[1, 2], [4, 1]], [[1, 3], [5, 2]]) → [[1, 5], [4, 1], [5, 2]]
  • mergeSales([[2, 7]], [[1, 1], [3, 4]]) → [[1, 1], [2, 7], [3, 4]]
  • mergeSales([], [[6, 2]]) → [[6, 2]]

Ограничения: в каждом отчёте от 0 до 1000 пар, внутри одного отчёта все id разные, а id и qty — целые числа от 1 до 100000; для двух пустых отчётов функция возвращает пустой массив; a, b и пары в них после вызова не меняются.

Не добавляйте лишних импортов, если в задаче это прямо не сказано.

merge.js — javascript
javascript · строк: 4
Ctrl+Enter запуск · Esc выйти из редактора

Подпишись, чтобы пройти курс

Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.

Войти другим способом