继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

js 简单实现 LRU

千岁不倒翁
关注TA
已关注
手记 362
粉丝 60
获赞 386

         

/* ======================================== LRU 最近最少使用 ======================================== */function LRUCache(limit){	limit = limit||10;	var _store = [];	var index = {};	this.get = function(key){		var ind = index[key];				if(_store[ind]==null){ // 未命中			return null;		}								var newArr = _store.splice(0,ind+1);				var result = newArr.pop();				_store = newArr.concat(_store);				_store.unshift(result);		for(var k in index){			var i = index[k];			if(i==ind){				index[k] = 0;			}else if(i<ind){				index[k] = ++index[k];			}		}				return result;	};		this.set = function(key,value){		if(_store.length>=limit){			_store.pop();				}				for(var k in index){			index[k] = index[k]+1;		}				_store.unshift(value);		index[key] = 0;;	};		this.list = function(){		console.log(_store);	};		}


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP