c***@163.com
c***@163.com
  • 发布:2017-12-19 19:29
  • 更新:2018-08-13 14:13
  • 阅读:1618

有没有知道MUI 怎么写历史搜索记录的?

分类:MUI

我知道用本地储存的方法。。。

但是就是想不通啊 怎么才能 存储 10条记录 然后循环呢?

当 一个搜索之后,记录词比如是 1然后到第10个词记录是 10,

然后 在循环 是 1 覆盖之前的 ---10、、。
这种方式怎么写的呢?

2017-12-19 19:29 负责人:无 分享
已邀请:
5毛钱特效

5毛钱特效

随便建个Oject对象存储就可以了吧,用的时候转List 排下序,取出前10条:比如说:
var a = {
//关键字:时间戳
"aa" : {
text : "aa",
time : new Date().getTime()
},
"bb" : {
text : "bb",
time : new Date().getTime()
},
"cc" : {
text : "cc",
time : new Date().getTime()
}
};

c***@163.com

c***@163.com (作者)

关键是 怎么写入 AA 怎么写入BB呢? 怎么才能触发 XX 写到 AA 触发XX 写到BB呢

4***@qq.com

4***@qq.com

分享自用


/**  
 * [update_history 更新搜索历史]  
 * @return {[type]} [description]  
 */  

     function history(value){  
     var data = mystorage.get("keywords");  
     if (!data) {  
         var data = []; //定义一个空数组  
     }else if(data.length === 20){ //搜索历史数量  
         data.shift();  //删除数组第一个元素有  
     }else{  

     };  
     if (value) {  //判断搜索词是否为空  
         if (data.indexOf(value)<0) {  //判断搜索词是否存在数组中  
             data.push(value);    //搜索词添加到数组中  
             mystorage.set("keywords",data);  //存储到本地化存储中  
            // console.log("add:"+data);  
         };  
     };  
 }  

 function delhistory(key,v){  
 var data = mystorage.get("keywords");  
  if (key) {  //判断搜索词是否为空  
      data.splice(v,1);    //搜索词删除指定V(引索),1,表示一个数组中  
         console.log("del:"+v+key);  
         mystorage.set("keywords",data);  //存储到本地化存储中  

 };  
}  

/**  
 * [mystorage 存储localstorage时候最好是封装一个自己的键值,在这个值里存储自己的内容对象,封装一个方法针对自己对象进行操作。避免冲突也会在开发中更方便。]  
 * @param  {String} ){                 var ms [description]  
 * @return {[type]}     [description]  
        console.log(mystorage.set('tqtest','tqtestcontent'));//存储  
        console.log(mystorage.set('aa','123'));//存储  
        console.log(mystorage.set('tqtest1','tqtestcontent1'));//存储  
        console.log(mystorage.set('tqtest1','newtqtestcontent1'));//修改  
        console.log(mystorage.get('tqtest'));//读取  
        console.log(mystorage.remove('tqtest'));//删除  
        mystorage.clear();//整体清除  
 */  
var mystorage = (function mystorage(){  
    var ms = "mystorage";  
    var storage=window.localStorage;  
    if(!window.localStorage){  
        alert("不支持localstorage");  
        return false;  
    }  
    var set = function(key,value){  
        //存储  
        var mydata = storage.getItem(ms);  
        if(!mydata){  
            this.init();  
            mydata = storage.getItem(ms);  
        }  
        mydata = JSON.parse(mydata);  
        mydata.data[key] = value;  
        storage.setItem(ms,JSON.stringify(mydata));  
        return mydata.data;  
    };  
    var get = function(key){  
        //读取  
        var mydata = storage.getItem(ms);  
        if(!mydata){  
            return false;  
        }  
        mydata = JSON.parse(mydata);  
        return mydata.data[key];  
    };  
    var remove = function(key){  
        //读取  
        var mydata = storage.getItem(ms);  
                if(!mydata){  
            return false;  
        }  
        mydata = JSON.parse(mydata);  
      //  console.log("del2:"+(mydata));  
        delete mydata.data[key];  
        //console.log("del3:"+JSON.stringify(mydata.data));  
        storage.setItem(ms,JSON.stringify(mydata));  
        //console.log("del4:"+JSON.stringify(mydata));  
        return mydata.data;  
    };  
    var clear = function(){  
        //清除对象  
        storage.removeItem(ms);  
    };  
    var init = function(){  
      storage.setItem(ms,'{"data":{}}');  
    };  
    return {  
        set : set,  
        get : get,  
        remove : remove,  
        init : init,  
        clear : clear  
    };  
})();

该问题目前已经被锁定, 无法添加新回复