Javascript: Коллекция с альбомами

Дан объект JSON описывающий часть музыкальной коллекции состоящий из альбомов. Каждый альбом имеет уникальный номер в качестве ключа и несколько свойств. Не все альбомы содержат всю информацию.

Напишите функцию, которая принимает в качестве параметров: id - уникальный номер альбома (например, 2548), prop - имя свойства (например, "artist" или "tracks") и value - новое значение свойства (например, "Addicted to Love") для изменения данных внутри коллекции.

Если prop содержит значение не равное "tracks" и value тоже содержит значение (не пустую строку ""), то установите новое значение value свойству с именем prop в альбоме.

Несколько правил для обработки случаев, когда некоторые данные отсутствуют:

Если prop содержит значение "tracks", но в альбоме отсутствует свойство "tracks", то создайте пустой массив, присвойте этот массив отсутствующему свойству в альбоме и добавьте в него новое значение.

Если prop содержит значение "tracks" и value тоже содержит значение (не пустую строку ""), добавьте value в конец существующего массива tracks.

Если value содержит пустую строку (""), удалите переданное свойство prop из альбома.

Созданная вами функция должна всегда возвращать объект коллекции.

Подсказки
Используйте скобочную нотацию, когда получаете доступ к свойству объекта при помощи переменной.

О методе push() для добавления одного или более элементов в конец массива можете почитать на сайте Mozilla Developer Network.

Чтобы вспомнить о JavaScript Object Notation (JSON) обратитесь к заданию Работа со сложными объектами.

Решение всех заданий