Instruções
Construir uma Coleção de Registros
Você está criando uma função que ajuda na manutenção de uma coleção de álbuns musicais. A coleção está organizada como um objeto que contém múltiplos álbuns que também são objetos. Cada álbum é representado na coleção com um
id único como o nome da propriedade. Dentro de cada objeto de álbum, existem várias propriedades descrevendo informações sobre o álbum. Nem todos os álbuns possuem informações completas.
A função updateRecords recebe 4 argumentos representados pelos seguintes parâmetros de função:
-
records– um objeto contendo vários álbuns individuais -
id– um número que representa um álbum específico no objetorecords -
prop– uma string que representa o nome da propriedade do álbum a ser atualizada -
value– uma string contendo informações usadas para atualizar a propriedade do álbum
records.
2. Se value for uma string vazia, remova a propriedade prop recebida do álbum.
3. Se prop não for tracks e value não for uma string vazia, atribua value à prop daquele álbum.
4. Se prop for tracks e value não for uma string vazia e se o álbum não tiver uma propriedade tracks, crie um array vazio e adicione value a ele.
5. Se prop for tracks e value não for uma string vazia, adicione value ao final do array existente de tracks do álbum.
Nota: Uma cópia do objeto recordCollection é usada para os testes. Sua função não deve se referir diretamente ao objeto recordCollection, apenas ao parâmetro da função.
O que fazer:
Testes:
- Você deve ter uma função `updateRecords`.
- Após `updateRecords(recordCollection, 5439, "artist", "ABBA")`, `artist` deve ter a string `ABBA`.
- Após `updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me")`, `tracks` deve ter a string `Take a Chance on Me` como o último e único elemento.
- Após `updateRecords(recordCollection, 2548, "artist", "")`, `artist` não deve ser definido.
- Após `updateRecords(recordCollection, 1245, "tracks", "Addicted to Love")`, `tracks` deve ter a string `Addicted to Love` como o último elemento.
- Após `updateRecords(recordCollection, 2468, "tracks", "Free")`, `tracks` deve ter a string `1999` como o último elemento. Após.
- Após `updateRecords(recordCollection, 2548, "tracks", "")`, `tracks` não deve ser definido.
- Após `updateRecords(recordCollection, 1245, "albumTitle", "Riptide")`, `albumTitle` deve ser a string `Riptide`.
Console