Tell us what’s happening:
Hi guys,
I don’t know why my code didn’t pass the following test:
After updateRecords(2548, "artist", "")
, artist
should not be set
After updateRecords(2548, "tracks", "")
, tracks
should not be set
I tried it in an external environment and it seems to work properly as expected.
Is there anyone who can explain this to me?
Many thanks.
Your code so far
// Setup
var collection = {
2548: {
album: "Slippery When Wet",
artist: "Bon Jovi",
tracks: [
"Let It Rock",
"You Give Love a Bad Name"
]
},
2468: {
album: "1999",
artist: "Prince",
tracks: [
"1999",
"Little Red Corvette"
]
},
1245: {
artist: "Robert Palmer",
tracks: [ ]
},
5439: {
album: "ABBA Gold"
}
};
// Only change code below this line
function updateRecords(id, prop, value) {
if (!id || !prop || value.length == 0) {
return collection
}
let objectFiltered = collection[id]
let objectValue
if (objectFiltered[prop] && prop == 'tracks') {
objectValue = [...objectFiltered[prop], value]
} else if (!objectFiltered[prop] && prop == 'tracks') {
objectValue = [value]
} else {
objectValue = value
}
objectFiltered = {...objectFiltered, [prop]: objectValue}
collection[id] = objectFiltered
return collection;
}
updateRecords(5439, "artist", "ABBA");
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36
.
Challenge: Record Collection
Link to the challenge: