Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menyimpan dan Mendapatkan Tatasusunan JavaScript dalam localStorage?
localStorage: Dilema Storan Tatasusunan
Apabila menggunakan localStorage untuk menyimpan pembolehubah, adalah penting untuk mengambil perhatian batasannya. Tidak seperti dalam JavaScript biasa, localStorage hanya boleh mengendalikan rentetan. Ini memberikan cabaran apabila cuba menyimpan struktur data yang kompleks seperti tatasusunan.
Dalam kod asal anda, anda cuba untuk menetapkan tatasusunan terus kepada localStorage. Walau bagaimanapun, pendekatan ini akan gagal kerana localStorage menjangkakan nilai rentetan. Untuk menyelesaikan isu ini, kita perlu menukar tatasusunan kepada rentetan.
JSON to the Rescue
JSON (JavaScript Object Notation) ialah format pertukaran data yang membenarkan kita untuk mewakili objek dan tatasusunan sebagai rentetan. Dengan menggunakan JSON.stringify(), kita boleh menukar tatasusunan nama menjadi rentetan JSON.
var names = []; names[0] = prompt("New member name?"); localStorage.setItem("names", JSON.stringify(names));
Kod ini akan berjaya menyimpan tatasusunan nama sebagai rentetan dalam localStorage.
Pendapatan dan Penggunaan
Apabila mendapatkan semula tatasusunan daripada localStorage, kita perlu menukar rentetan JSON disimpan kembali ke dalam tatasusunan menggunakan JSON.parse().
var storedNames = JSON.parse(localStorage.getItem("names"));
Kini, storedNames akan mengandungi tatasusunan asal yang disimpan dalam localStorage.
Sebagai alternatif, anda juga boleh menggunakan direct akses hartanah untuk menetapkan dan mendapatkan semula rentetan JSON, memintas setItem() dan getItem() kaedah:
localStorage.names = JSON.stringify(names); var storedNames = JSON.parse(localStorage.names);
Kaedah ini menyediakan sintaks yang lebih ringkas, tetapi adalah penting untuk ambil perhatian bahawa ia mungkin tidak disokong dalam penyemak imbas lama.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan dan Mendapatkan Tatasusunan JavaScript dalam localStorage?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!