Heim  >  Fragen und Antworten  >  Hauptteil

So verschieben Sie Daten in ein Array auf localStorage – Stapelüberlauf

Eine Funktion, die ich ausführen möchte, besteht darin, jedes Mal, wenn ich klicke, die aktuell angeklickten Daten in das Localstorage-Array zu übertragen. Ich habe jedoch nicht versucht, das Localstorage-Array tief zu kopieren Im kopierten Array habe ich das lokale Speicherarray als tiefes Kopierarray festgelegt, aber ich habe es noch nicht ausprobiert. Könnten Sie mir bitte einen Rat geben?

伊谢尔伦伊谢尔伦2677 Tage vor1213

Antworte allen(5)Ich werde antworten

  • 世界只因有你

    世界只因有你2017-06-20 10:09:01

    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]);
    }

    Antwort
    0
  • 学习ing

    学习ing2017-06-20 10:09:01

    很简单,存进去之前先json字符串化,取出来逆回来操作,就能得到正常的数组。

    localStorage.setItem("arr", JSON.stringify(arr))
    var arr = JSON.parse(localStorage.getItem("arr"))
    arr.push(something)
    localStorage.setItem("arr", JSON.stringify(arr))

    Antwort
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-20 10:09:01

    很奇怪的思维,为啥不往数组里push,在localStorage.setItem("arr",arr)呢,而是在先设置localStorage,在进行操作呢

    Antwort
    0
  • ringa_lee

    ringa_lee2017-06-20 10:09:01

    数组存localstorage里会变成字符串,
    想操作localStorage的变量就先取出来进行操作再存进去。

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

    取出来再设置

    //取出
    getarr = localStorage.arr.split(',')
    //操作
    getarr.push(2)//["1", 2]
    //再存
    localStorage.arr = getarr//这时候localStorage.arr变为 "1,2"

    Antwort
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-20 10:09:01

    亲,首先你要搞清楚localstorage到底是个什么东西,
    localstorage作为HTML5新特性中的webStorage技术中的永久存储方法,我们通常也叫他本地存储和跨会话级存储。
    他的用法并不需要给localstorage设置空数组,他本身有自己的存取数据的方法,如下:

    localstorage["key"] = 'value' ;

    希望可以帮到你啦~

    Antwort
    0
  • StornierenAntwort