javascript - 如何向localStorage上的數組push數據
伊谢尔伦
伊谢尔伦 2017-06-20 10:07:01
0
5
1209

我想做的一個功能是在localstorage上設定一個空數組,每次點擊就push當前點擊的資料到localstorage的數組中,但是localstorage不允許push,我試過深拷貝localstorage的數組出來再push到深拷貝的數組中,在設定localstorage的數組為深拷貝的數組,但是也沒嘗試出來,請大神支招

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回覆(5)
世界只因有你

localStorage只能儲存String,要用Json物件轉換下:

var arrayObject = [];
arrayObject.push('a','b','c');
localStorage.setItem("array",JSON.stringify(arrayObject));
var arrayObjectLocal = JSON.parse(localStorage.getItem("array"));
arrayObjectLocal.push('d','e','f');
for (i = 0; i < arrayObjectLocal.length; i++) { 
    console.log(arrayObjectLocal[i]);
}
学习ing

很簡單,存進去之前先json字串化,取出來逆回來操作,就能得到正常的陣列。

localStorage.setItem("arr", JSON.stringify(arr))
var arr = JSON.parse(localStorage.getItem("arr"))
arr.push(something)
localStorage.setItem("arr", JSON.stringify(arr))
我想大声告诉你

很奇怪的思維,為啥不往數組裡push,在localStorage.setItem("arr",arr)呢,而是在先設定localStorage,在進行操作呢

ringa_lee

數組存localstorage裡會變成字串,
想操作localStorage的變數就先取出來操作再存進去。

//设置
arr = [1];
localStorage.arr = arr

取出再設定

//取出
getarr = localStorage.arr.split(',')
//操作
getarr.push(2)//["1", 2]
//再存
localStorage.arr = getarr//这时候localStorage.arr变为 "1,2"
曾经蜡笔没有小新

親,首先你要搞清楚localstorage到底是個什麼東西,
localstorage作為HTML5新特性中的webStorage技術中的永久存儲方法,我們通常也叫他本地存儲和跨會話級存儲。
他的用法並不需要為localstorage設定空數組,他本身有自己的存取資料的方法,如下:

localstorage["key"] = 'value' ;

希望可以幫你啦~

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!