这是提示:
有一个JSON对象,代表着你的专辑集。每一张专辑由一个唯一的id标识,并具有多种属性。但并非所有的专辑都有完整的信息。
写一个函数,它有个三个参数,id、prop、value。
如果 value !='' 而且prop != 'tracks',collectionCopy[id][prop]=value;。
如果 value !='' 而且prop == 'tracks',collectionCopy[id][prop].push(value);。
如果 value == '' ,delete collectionCopy[id][prop];。
这是要求:
update(5439, "artist", "ABBA") 之后, artist 应该为"ABBA"
update(2548, "artist", "") 之后, artist 应该不存在
update(1245, "tracks", "Addicted to Love") 之后,tracks 的最后一个元素应该是"Addicted to Love"
update(2548, "tracks", "") 之后, tracks 应该不存在
我代码这样不知道那里有问题:
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"
}
};
var collectionCopy = JSON.parse(JSON.stringify(collection));
function update(id, prop, value) {
if(value != " " && prop != "tracks"){
collectionCopy[id][prop] = value;
}else if ( value != ' ' && prop == 'tracks'){
collectionCopy[id][prop].push(value);
}else if (value == ' '){
delete colectionCopy[id][prop];
}
return collection;
}
update(5439, "artist", "ABBA");
慕侠2067323
慕侠2067323
离歌笑_0002
qq_怠惰_04293838
qq_六尘缘影_0
qq_六尘缘影_0
相关分类