美文网首页
HTML5 localStorage的本地存储验证方法封装

HTML5 localStorage的本地存储验证方法封装

作者: 大小伍 | 来源:发表于2017-05-26 19:22 被阅读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));
    

    希望对你有所帮助!

    相关文章

      网友评论

          本文标题:HTML5 localStorage的本地存储验证方法封装

          本文链接:https://www.haomeiwen.com/subject/kjixfxtx.html