HTML5 localStorage的本地存储验证方法封装
2017-05-26 本文已影响0人
大小伍
使用场景,可用于一些数据验证,兼顾数据去重,存储的时候验证是否localStorage已经存储过此条数据,进而进行下一步的逻辑交互。
上代码
存数据(验证是否重复,数据属于单次添加,data的id与localStorage取下来的id值做对比)
function setItemMethod(key,data){
let storage = getItemMethod(key);
let flag = true;
if(storage == null){
window.localStorage.setItem(key,JSON.stringify(data));
}else{
for(let p of storage){
if(data[0].id == p.id){
flag = false;
}
}
if(flag){
storage.push(data[0]);
window.localStorage.setItem(key,JSON.stringify(storage));
}else{
// console.log('有重复,不添加');
}
}
}
取数据(从浏览器拿到名为key值得那条localStorage数据)
function getItemMethod(key){
return JSON.parse(window.localStorage.getItem(key));
}
验证是否存在此数据,跟存数据拆分出来,单独做验证的方法,有重复就返回false,没重复就返回true
function isVote(key,data){
let storage = getItemMethod(key);
let flag = true;
if(storage == null){
return true;
}else{
for(let p of storage){
if(data[0].id == p.id){
flag = false;
}
}
if(flag){
// console.log('可添加');
return true;
}else{
// console.log('有重复');
return false;
}
}
}
使用方法
var data = [{
id:3,
name:'fdfff',
}];
setItemMethod('info',data);
console.log(getItemMethod('info'));
console.log(isVote('info',data));