繁体   English   中英

将更多数据保存到本地存储

[英]Saving more data to local storage

我知道这是使用JSON的最佳方法,但是对我来说太复杂了。 因此,请问还有其他方法可以确保我的数据不会在本地存储中被覆盖。 使用for循环或使用另一个键名的示例。 请举我的示例来帮助我,因为我是HTML / JavaScript的新手。

function saveToLS(){

    var Name = document.getElementById("rName");
    var namesaved = Name.value;
    localStorage.setItem("Name",namesaved);


    var Comment = document.getElementById("rComment");
    var commentsaved = Comment.value;
    localStorage.setItem("Comment",commentsaved);   


}

您要存储这些的倍数吗? 您应该将它们存储在数组或对象中(例如,添加时间戳记ID字段),然后将该数组存储在LS中。

最好的选择是使用JSON。 JSON不是很复杂。 它只是一个字符串,是字符串(如数组或对象)的语言结构字符串化的结果。

您需要一个数组: [] ,它的字符串化版本: "[]" 因此,您需要将元素推入数组。 怎么样? 通过解析存储的JSON字符串将其转换为数组,然后推送一个元素并对新数组进行字符串化。 这是一个例子:

var names = localStorage.getItem("Name");
names = names ? JSON.parse(names) : [];
names.push('newName');

localStorage.setItem("Name", JSON.stringify(names));

也不要使用2个键来存储属于一项的2个基准。 这将很难维护。 使用一个对象,一个对象数组:

comments.push({
  author: 'name of the author',
  comment: 'here goes the comment body...'
})

 Yeah..Me Also new In this Part... but I hope to you help full this code please try It.. var key = 0; for(key;key<10;key++){ localStorage.setItem(key, localStorage.getItem(key) + "Datas"); } 

function saveToLS(){

var Name = document.getElementById("rName");
var namesaved = Name.value;
if(localStorage.setItem("Name").length){   //the data already exists
     // Do whatever if the data already Exists......
}else{
    localStorage.setItem("Name",namesaved);
}


var Comment = document.getElementById("rComment");
var commentsaved = Comment.value;


if(localStorage.setItem("Comment").length){ //the data already exists
     // Do whatever if the data already Exists......
}else{
    localStorage.setItem("Comment",commentsaved);
}   

}

使用localStorage.getItem()检查数据是否已经存在,如果数据为true,则不要再次写入数据,或者执行任何操作,如使用另一个键保存数据

if(localStorage.setItem("Name").length){   //the data already exists
 localStorage.setItem("SomethingElse...",namesaved); //something else
}else{
   localStorage.setItem("Name",namesaved); 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM