当前位置: 首页 > news >正文

multiMap by angular

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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];
                    }
                }
            }
        }  
    }       
});


转载于:https://my.oschina.net/bosscheng/blog/516930

相关文章:

  • Context源码分析
  • [转]CentO下限制SSH登录次数
  • 《软件工艺师:专业、务实、自豪》一3.2 维基百科对软件工艺的定义
  • SIM卡
  • angular select 默认值
  • Java日期的格式String类型GMT,GST换算成日期Date种类
  • 寸土必争——光复驱动缓存侵占的空间
  • PXE装机
  • 轻松搞定RabbitMQ(四)——发布/订阅
  • 操作系统学习(一)--概述启动过程
  • StatusBar、ActionBar tips
  • String类:String类的简介和字符串常用接口
  • freemarker遇见的BUG1
  • 棋盘覆盖问题
  • Theano - 导数
  • 网络传输文件的问题
  • @jsonView过滤属性
  • django开发-定时任务的使用
  • Flex布局到底解决了什么问题
  • IOS评论框不贴底(ios12新bug)
  • JavaScript实现分页效果
  • Median of Two Sorted Arrays
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • nfs客户端进程变D,延伸linux的lock
  • Python_网络编程
  • scrapy学习之路4(itemloder的使用)
  • Spring Cloud Feign的两种使用姿势
  • SSH 免密登录
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 从PHP迁移至Golang - 基础篇
  • 前端之React实战:创建跨平台的项目架构
  • 在weex里面使用chart图表
  • 我们雇佣了一只大猴子...
  • ​如何在iOS手机上查看应用日志
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (2)STM32单片机上位机
  • (39)STM32——FLASH闪存
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)Linux下编译安装log4cxx
  • *上位机的定义
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .naturalWidth 和naturalHeight属性,
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .net解析传过来的xml_DOM4J解析XML文件
  • /var/log/cvslog 太大
  • @Autowired多个相同类型bean装配问题
  • @RestControllerAdvice异常统一处理类失效原因