javascript - 如何向localStorage上的數(shù)組push數(shù)據(jù)
問(wèn)題描述
我想做的一個(gè)功能是向localstorage上設(shè)置一個(gè)空數(shù)組,每次點(diǎn)擊就push當(dāng)前點(diǎn)擊的數(shù)據(jù)到localstorage的數(shù)組中,但是localstorage不允許push,我試過(guò)深拷貝localstorage的數(shù)組出來(lái)再push到深拷貝的數(shù)組中,在設(shè)置localstorage的數(shù)組為深拷貝的數(shù)組,但是也沒(méi)嘗試出來(lái),請(qǐng)大神支招
問(wèn)題解答
回答1:localStorage只能存儲(chǔ)String,要用Json對(duì)象轉(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:
很簡(jiǎn)單,存進(jìn)去之前先json字符串化,取出來(lái)逆回來(lái)操作,就能得到正常的數(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,在進(jìn)行操作呢
回答4:數(shù)組存localstorage里會(huì)變成字符串,想操作localStorage的變量就先取出來(lái)進(jìn)行操作再存進(jìn)去。
//設(shè)置arr = [1];localStorage.arr = arr
取出來(lái)再設(shè)置
//取出getarr = localStorage.arr.split(’,’)//操作getarr.push(2)//['1', 2]//再存localStorage.arr = getarr//這時(shí)候localStorage.arr變?yōu)?'1,2'回答5:
親,首先你要搞清楚localstorage到底是個(gè)什么東西,localstorage作為HTML5新特性中的webStorage技術(shù)中的永久存儲(chǔ)方法,我們通常也叫他本地存儲(chǔ)和跨會(huì)話級(jí)存儲(chǔ)。他的用法并不需要給localstorage設(shè)置空數(shù)組,他本身有自己的存取數(shù)據(jù)的方法,如下:
localstorage['key'] = ’value’ ;
希望可以幫到你啦~
相關(guān)文章:
1. html - 前端大牛都頂一下!CSS鼠標(biāo)樣式問(wèn)題,如圖所示2. html5 - canvas中的mousedrag事件,為什么鼠標(biāo)拖出canvas,然后再次移入canvas,drag事件還觸發(fā)3. node.js - 在nodejs環(huán)境中如何配置webhook以實(shí)現(xiàn)hexo博客的自動(dòng)更新?4. 網(wǎng)頁(yè)爬蟲(chóng) - python爬蟲(chóng)用BeautifulSoup爬取<s>元素并寫(xiě)入字典,但某些div下沒(méi)有這一元素,導(dǎo)致自動(dòng)寫(xiě)入下一條,如何解決?5. 百度地圖api - Android百度地圖SDK,MapView上層按鈕可見(jiàn)卻不可觸,怎么解決?6. mysql 獲取時(shí)間函數(shù)unix_timestamp 問(wèn)題?7. javascript - es6擴(kuò)展運(yùn)算符...的問(wèn)題8. 新入手layuiadmin,部署到tp中。想用php自已寫(xiě)一個(gè)后臺(tái)管理系統(tǒng)。9. javascript - jquery怎么給select option一個(gè)點(diǎn)擊時(shí)觸發(fā)的事件,如圖 如果選擇自定義觸發(fā)一個(gè)時(shí)間?10. css3 - 求教CSS圖標(biāo)庫(kù)的寫(xiě)法,也就是先做雪碧圖,然后寫(xiě)一個(gè)css表,用的時(shí)候直接用class就可以了
