Получи случайную криптовалюту за регистрацию!

Всем привет. На связи BaNru - новый админ ТГканала и старый мо | Интернет-технологии.ру – IT пространство

Всем привет. На связи BaNru - новый админ ТГканала и старый модератор форума.

Предлагаю ученикам и не только попробовать себя в решение небольших реальных задачек (на PHP и JS).

Если участникам понравится, то время от времени буду скидывать. Если тема зайдёт, то попробую делать их более удобными, используя сервисы типа JSFiddle или CodePen, А пока текстом. Задачи уровня Джунов.

Ответы выкладывайте в комментариях, если желаете или скрывайте их вечно!

Первая задача по JS (это не значит, что вы не можете решить её на другом своём любимом языке). На решение задачи потребуется 10-20 минут.

/**
Задача: объединить массивы без дублей (по id). Представьте, что из хранилища А приходят частично обновлённые данные в хранилище Б
Требуется: обновление первого массива вторым.
Обновлять частично объекты не надо, только полная перезапись найденного объекта
Сортировка не нужна
*/
var array1 = [
{ id: 1, name: 'Вася' },
{ id: 2, name: 'Настя' },
{ id: 3, name: 'Анжела' }
],
array2 = [
{ id: 1, name: 'Вася', age: 12 },
null, // не баг, а фича! Должно игнорироваться
{ id: 4, name: 'Коля'}
{ id: 5, name: 'Джон'}
]

/**
Первый массив может быть пустой:
array1 = [];

Аналогично второй массив может быть:
array2 = [];
array2 = null;
array2 = [null]
*/

/**
Ожидаемый результат
*/
var result = [
{ id: 1, name: 'Вася', age: 12 },
{ id: 2, name: 'Настя' },
{ id: 3, name: 'Анжела' },
{ id: 4, name: 'Коля' },
{ id: 5, name: 'Джон' }
]