Wpis z mikrobloga

Potrzebuję pomocy z #js #javascript. Uczę się tego języka i utknąłem na tym zadaniu. Nie wychodzi mi stworzenie nowej tablicy i nie wiem, dlaczego :/

Mój kod to:

// 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"
}
};
// Keep a copy of the collection for tests
var collectionCopy = JSON.parse(JSON.stringify(collection));

// Only change code below this line
function updateRecords(id, prop, value) {
if (value == '') {
delete collection[id][prop];
}
else if (prop == 'album' || prop == 'artist') {
collection[id][prop] = value;
}
else if (prop == 'tracks' && collection[id].hasOwnProperty(prop) == false) {
collection[id][prop] = value;
}
else {
collection[id][prop].push(value);
}

return collection;
}

// Alter values below to test your code
updateRecords(5439, "artist", "ABBA");
  • 5
  • Odpowiedz
  • 0
@cheft if value == "? Poza tym to obiekt a nie tablica. Jak już to miej to jako tablice obiektow [{},{},{}] tzw. cipy w boxie u mnie na slasku u wujaszka
  • Odpowiedz
@Shiv: Akurat chodzi konkretnie o dodanie tablicy do obiektu. Niczego w tym nie mogę ruszać, tylko od linijki

function updateRecords(id, prop, value) {
  • Odpowiedz
  • 0
@cheft ogolem w obiektach dodajesz cos do 'property'. W twoim przypadku to będzie np collection['2548']['twojanazwajakachcesz'] = [] tablica jaka Ci potrzebna
  • Odpowiedz
@Shiv: O stary, dzięki! Wystarczyło, że zamieniłem

collection[id][prop] = value;

na

collection[id][prop] = [value];

i od razu podziałało. Szkoda tylko, że zajęło mi to ponad godzinę...
  • Odpowiedz