您的位置:首页 > Web前端 > AngularJS

stackedMap by angular

2015-10-14 00:00 609 查看
摘要: 一种数据结构,提供map 队列,并提供getting/removing 元素进入到LIFO中。利用angular实现。

angular.module('demo.stackedMap',[])
// 提供一个服务
.factory('$$stackedMap',function(){
return {
createNew:function(){
var stack = [];

return {
// 添加方法
add:function(key,value){
stack.push({
key:key,
value:value
})
},

get:function(key){
for(var i = 0;i<stack.length;i++){
if(key === stack[i].key){
return stack[i];
}
}
},

keys:function(){
var keys = [];
for(var i = 0;i<stack.length;i++){
keys.push(stack[i].key);
}
return keys;
},

top:function(){
return stack[stack.length -1];
},

remove:function(key){
var idx = -1;
for(var i = 0;i<stack.length;i++){
if(key = stack[i].key){
idx = i;
break;
}
}
return stack.splice(idx,1)[0];
},

removeTop:function(){
return stack.splice(stack.length-1,1)[0];
},

length:function(){
return stack.length;
}
}
}
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  angular