Борьба с кодекампом: коллекция записей (JSON)

json

46 просмотра

1 ответ

1 Репутация автора

Я знаю, что многие люди спрашивали об этом, но пока ни одно из решений не помогло мне. Инструкции: Если проп не «дорожки» и значение не пустое («»), обновите или установите значение для свойства этого альбома записи.

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

Существует несколько правил обработки неполных данных:

Если prop - «дорожки», но у альбома нет свойства «дорожки», создайте пустой массив перед добавлением нового значения в соответствующее свойство альбома. (Я думаю, что это моя проблема, но не могу понять, как ее включить)

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

Моя текущая попытка:

 function updateRecords(id, prop, value) {
 if(prop == "tracks" && value !== ""){
collection[id][prop].push(value);
} else 
 if (value !==""){
  collection[id][prop] = value;
   } else 
if (value === ""){
     delete collection[id][prop];
   } 
 return collection;
}

(Извините за форматирование, я только учусь использовать эту страницу) Спасибо :)

Автор: Jessica Lenehan Источник Размещён: 18.07.2016 03:04

Ответы (1)


0 плюса

1 Репутация автора

Я боролся с этим больше двух часов, я думаю. Нашел решение, но не могу понять, как оно работает. Надеюсь, это поможет.

function updateRecords(id, prop, value) {
if (prop !== "tracks" && value !== "") {
collection[id][prop] = value;
} else if (prop == "tracks" && collection[id].hasOwnProperty("tracks") === false)  {
collection[id][prop] = [];
collection[id][prop].push(value);
} else if (prop == "tracks" && value !== "") {
collection[id].tracks.push(value);
} else if (value === "") {
delete collection[id][prop];
}


return collection;
}
Автор: Souka Размещён: 24.08.2016 09:56
Вопросы из категории :
32x32