之前在写收藏夹的功能开发的时候,遇到一个神奇的bug,当时怎么想也想不明白为什么会是这样子的结果。
是这样子的一个需求,相当于一组数据中筛选出一堆book_开头并以数字结尾的字符串,用正则做判断嘛,还是挺简单的,当时写了段代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
function clear(){ var reg = /book_\d+/g; //book_开头,加上数字 var key; for(var i=0, len = storage.length; i<len; i++){ key = storage.key(i); //从localstorage中读取key if(reg.test(key)){ console.log("succe: "+key); //匹配成功时返回succe LocalStorage.removeItem(key); i=i-1; len=len-1; }else{ console.log("error: "+key); //匹配失败时返回error } } LocalStorage.setItem("xuanfengKey","0"); } |