Tell us what’s happening:
Hi,
I am unable to understand why the below lines of code is not working for my program.
Creating an empty array with key as tracks inside object.id and they pushing the first value.
object[id].tracks = [];
object[id].tracks.push(value);
Your code so far
// Setup
var collection = {
2548: {
albumTitle: 'Slippery When Wet',
artist: 'Bon Jovi',
tracks: ['Let It Rock', 'You Give Love a Bad Name']
},
2468: {
albumTitle: '1999',
artist: 'Prince',
tracks: ['1999', 'Little Red Corvette']
},
1245: {
artist: 'Robert Palmer',
tracks: []
},
5439: {
albumTitle: 'ABBA Gold'
}
};
// Only change code below this line
function updateRecords(object, id, prop, value) {
if(value!='' && value!=undefined && prop!='tracks'){
object[id][prop]=value;
console.log(1);
}
if(prop==='tracks' && !object[id].hasOwnProperty(prop)){
object[id].tracks = [];
object[id].tracks.push(value);
console.log(object);
return;
}
if(prop==='tracks' && value!=undefined){
object[id][prop].push(value);
console.log(3);
return;
}
if(value==undefined || value == ''){
delete object[id][prop];
console.log(4);
}
return object;
}
updateRecords(collection, 5439, 'tracks','');
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
.
Challenge: Record Collection
Link to the challenge: