我是JavaScript新手,所以這可能相當簡單。從JSON訪問記錄並添加或刪除信息
我有這樣的JSON:
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));
function updateRecords(id, prop, value) {
if (value !== "" && prop !== "tracks"){
return collection.id.prop.value;
} else if (value !== "" && prop === "tracks"){
return collection.id.prop.push(value);
} else {
delete collection.id.prop.value;
}
return collection;
}
這是我的測試:
updateRecords(5439, 「藝術家」, 「利羣」) ;
updateRecords(2548,「artist」,「」);
updateRecords(1245,「tracks」,「addicted to love」);
updateRecords(2458,「tracks」,「」);
我需要做的是寫將訪問JSON
信息,如果該參數value
是非空白的信息添加(value !== ""
)的函數,prop
的說法是不tracks
(props !== "tracks
)更新或設定值對於參數prop
。
此外如果參數prop
是軌道(props === "tracks"
)和參數value
也是非空白(value !== ""
)我需要的值推到tracks
的JSON
文件的內部的端部。
我的問題是我怎麼能這樣做呢?我的顯然是失敗我明白我需要delete
和push
的信息,但訪問正確的數據會讓我感到困惑,我會做一些事情:return collection.id.prop.push(value);
?
唯一代碼答案氣餒:而原來提問者可能明白了,否則將來有人一定的時間,可能需要澄清,但問題是太老了,是值得一問。 – Kroltan
我明白了。補充說明他們出錯的地方。 –
問題不是空間或不是,但something.prop'相當於'something [「prop」]',而不是'something [prop]'。 – Kroltan