2019独角兽企业重金招聘Python工程师标准>>>
angular.module('demo',[])
.factory('$$multiMap',function(){
return {
createNew:function(){
var map = {};
return {
entries:function(){
return Object.keys(map).map(function(key){
return {
key:key,
value:map[key]
}
});
},
get:function(key){
return map[key];
},
hasKey:function(key){
return !!map[key];
},
keys:function(){
return Object.keys(map);
},
put:function(key,value){
if(!map[key]){
map[key] = [];
}
map[key].push(value);
},
remove:function(key,value){
var values = map[key];
if(!values){
return;
}
var idx = values.indexOf(value);
if(idx !== -1){
values.splice(idx,1);
}
if(!value.length){
delete map[key];
}
}
}
}
}
});