JavaScriptでJSON形式のデータを作成できることを知っています
data = JSON.parse(localStorage.something);
data[0] == "some data";
しかし、削除しようとすると機能しません。
delete data[0];
JavaScriptでJSON形式のデータを作成できることを知っています
data = JSON.parse(localStorage.something);
data[0] == "some data";
しかし、削除しようとすると機能しません。
delete data[0];
delete data[0]
data
配列からそのアイテムのみを削除しますが、これはlocalStorage
アイテムではありません(ご存知のように、そのアイテムは文字列であるため)。
変更を保存する必要があります。またdata.shift()
、代わりに minitech のコメントに従って使用することをお勧めしますdelete
-delete
は、配列インデックスではなく、オブジェクト プロパティに適しています。
data = JSON.parse(localStorage.something);
data.shift(); // delete data[0] without breaking sequence
localStorage.something = JSON.stringify(data);
あなたがした後:
data = JSON.parse(localStorage.something);
次に、data
変数は、localStorage から完全に切り離された独立したオブジェクトを保持します (「実際の」オブジェクトではなく、いずれにせよ解析する必要がある String のみを格納します)。
変更した場合は、次のようにローカル ストレージを手動で更新する必要があります。
localStorage.setItem("something", JSON.stringify(data));
補足として、古いブラウザーを対象としている場合は、json2.js などを含めて、JSON オブジェクトがどこでも機能するようにしてください。