ブラウザのローカルストレージに保存されているJSONオブジェクトを繰り返し処理したいとします。 は、基本的にはJSONオブジェクトを検索し、次のように追加されます:私は、オブジェクトを反復処理し、キーを「スコア」と潜在的な新しいエントリに値を比較するためにチェックしたいJavascriptでローカルストレージを繰り返し処理するJSONオブジェクト(Vanilla Javascript)
if (localStorage.getItem("playerHighscoreObject") == undefined) {
playerHighscoreList = [
{'name': "Ben", 'score': 40},
{'name': "Joe", 'score': 44},
{'name': "Anna", 'score': 51},
{'name': "Mitch", 'score': 59},
{'name': "Abdi", 'score': 63}
];
localStorage.setItem("playerHighscoreObject", JSON.stringify(playerHighscoreList));
}
else {
playerHighscoreList = localStorage.getItem("playerHighscoreObject");
}
。
function saveScore() {
var key = "score";
console.log(playerHighscoreList);
for (key in playerHighscoreList) {
if (playerHighscoreList.hasOwnProperty(key)) {
var val = playerHighscoreList[key];
console.log(val);
}
}
}
しかし、これを行うと、ログには135の値が定義されません。 JSONオブジェクトを印刷しても、表示されるはずです。
[{"name":"Ben","score":40},{"name":"Joe","score":44},{"name":"Anna","score":51},{"name":"Mitch","score":59},{"name":"Abdi","score":63}]
私はここで間違っていますか?
編集: 推奨される複製では、問題を解決するためにjQueryを使用します。私はjQueryを使用するのではなく、タイトルに記述されているようにバニラのjavascriptを使用したいと思います。その中核に、これはローカルストレージとは何の関係もありません
Dupe? http://stackoverflow.com/questions/3138564/looping-through-localstorage-in-html5-and-javascript – httpNick
「JSON.parse」はありますか? – Dimava
@Dimava:うん、私はそれを完全に逃した。 'stringify'はそこにありますが、' parse'はありません。 –