javascript - 如何向localStorage上的數(shù)組push數(shù)據(jù)
問題描述
我想做的一個功能是向localstorage上設(shè)置一個空數(shù)組,每次點擊就push當前點擊的數(shù)據(jù)到localstorage的數(shù)組中,但是localstorage不允許push,我試過深拷貝localstorage的數(shù)組出來再push到深拷貝的數(shù)組中,在設(shè)置localstorage的數(shù)組為深拷貝的數(shù)組,但是也沒嘗試出來,請大神支招
問題解答
回答1:localStorage只能存儲String,要用Json對象轉(zhuǎn)化下:
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]);}回答2:
很簡單,存進去之前先json字符串化,取出來逆回來操作,就能得到正常的數(shù)組。
localStorage.setItem('arr', JSON.stringify(arr))var arr = JSON.parse(localStorage.getItem('arr'))arr.push(something)localStorage.setItem('arr', JSON.stringify(arr))回答3:
很奇怪的思維,為啥不往數(shù)組里push,在localStorage.setItem('arr',arr)呢,而是在先設(shè)置localStorage,在進行操作呢
回答4:數(shù)組存localstorage里會變成字符串,想操作localStorage的變量就先取出來進行操作再存進去。
//設(shè)置arr = [1];localStorage.arr = arr
取出來再設(shè)置
//取出getarr = localStorage.arr.split(’,’)//操作getarr.push(2)//['1', 2]//再存localStorage.arr = getarr//這時候localStorage.arr變?yōu)?'1,2'回答5:
親,首先你要搞清楚localstorage到底是個什么東西,localstorage作為HTML5新特性中的webStorage技術(shù)中的永久存儲方法,我們通常也叫他本地存儲和跨會話級存儲。他的用法并不需要給localstorage設(shè)置空數(shù)組,他本身有自己的存取數(shù)據(jù)的方法,如下:
localstorage['key'] = ’value’ ;
希望可以幫到你啦~
相關(guān)文章:
1. objective-c - iOS怎么實現(xiàn)像QQ或者微信的實時推送2. 網(wǎng)頁爬蟲 - python爬蟲翻頁問題,請問各位大神我這段代碼怎樣翻頁,還有價格要登陸后才能看到,應該怎么解決3. 求大神幫我看看是哪里寫錯了 感謝細心解答4. MySQL客戶端吃掉了SQL注解?5. 數(shù)據(jù)庫 - MySQL 單表500W+數(shù)據(jù),查詢超時,如何優(yōu)化呢?6. php自學從哪里開始?7. mysql - AttributeError: ’module’ object has no attribute ’MatchType’8. android - Windows系統(tǒng)下運行react-native App時,報下面的錯誤?9. phpstady在win10上運行10. javascript - 圖片能在網(wǎng)站顯示,但控制臺仍舊報錯403 (Forbidden)
