私はJavascriptを使い慣れていないので、これはおそらくかなり簡単です。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"
}
};
そして、この機能:
私はこのJSONを持っ
// 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、 "アーティスト"、 "ABBA") ;
updateRecords(2548、 "artist"、 "");
updateRecords(1245、 "トラック"、 "愛に中毒");
updateRecords(2458、 "tracks"、 "");私がする必要がどのような
JSON
情報にアクセスする関数を記述し、引数value
が非空白の場合は情報を追加します(value !== ""
)とprop
引数がtracks
ではありません(props !== "tracks
)値を更新したり、設定しています引数はprop
です。さらに
引数prop
はトラック(props === "tracks"
)であり、引数value
も非空白の場合(value !== ""
)Iは、JSON
ファイルのtracks
内側の端部に値をプッシュする必要があります。
私の質問はどうすればこのことをやり遂げることができますか?私は明らかに失敗している私はdelete
とpush
情報が必要ですが、正しいデータにアクセスすることは私に混乱していることを理解する、私は何かのような何かをするでしょうか:return collection.id.prop.push(value);
?
コードオンリーの回答はお勧めできません。元の質問者が理解できるとはいえ、将来誰かが解明する必要があるかもしれませんが、その質問は尋ねる価値があるほど古すぎます。 – Kroltan
私は参照してください。彼らがどこに間違っていたのか説明を追加。 –
問題は空白ではなく、 'something.prop'は' something ["prop"] 'と等しく、something [prop]ではありません。 – Kroltan