新一代浏览器普遍支持的 localStorage 接口,用来缓存token和一些业务数据,可避免重复请求服务端对服务器造成的压力,是一个非常有用的功能。但是它只提供了赋值、全部清空等功能,并没有按键名模糊查询批量删除某一组缓存的接口。
在使用js清除localStorage时,我们希望能够通过键名特征进行批量删除。这样可以避免直接清空时,误伤部分有用缓存的问题。
function removeItem(find){
var arr = [];
for (var i = 0; i < localStorage.length; i++) {
var key = localStorage.key(i);
if( key && key.indexOf(find) > -1 ){
arr.push(key);
}
}
var k = 0; var l = arr.length;
while(arr){
if(k >= l ){
break;
}
localStorage.removeItem( arr[k] )
k++;
}
}
如:我们要删除键名含有 testLog 字符的存储内容,则调用如下:
removeItem('testLog');
如果本文对您有用,请点赞转发。欢迎评论留言交流。