Вступить в клуб →
сложнаяjavascriptTypeScript: дженерики и контракты с API

Тело PATCH-запроса только из изменённых полей формы

Форма редактирования хранит исходный объект с сервера и отредактированную копию. Отправлять нужно только изменения. Напишите функцию buildPatch(original, edited).

  • В результат попадает ключ, если его значение в edited отличается от original. Вложенные объекты и массивы сравниваются по содержимому, а не по ссылке.
  • Ключ, который есть в original, но отсутствует в edited или равен там undefined, попадает в результат со значением null — так сервер поймёт, что поле очищено.
  • Новый ключ, которого не было в original, попадает в результат со своим значением.
  • Если изменений нет — пустой объект. Входные объекты не меняйте.

заготовка решения

function buildPatch(original, edited) {
  // ваш код
  return undefined;
}

🔒 Проверка ответа — для участников клуба

  • Автотесты прямо в браузере
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела