zoukankan      html  css  js  c++  java
  • js-map模拟

    1. /*   
    2.  * MAP对象,实现MAP功能   
    3.  *   
    4.  * 接口:   
    5.  * size()     获取MAP元素个数   
    6.  * isEmpty()    判断MAP是否为空   
    7.  * clear()     删除MAP所有元素   
    8.  * put(key, value)   向MAP中增加元素(key, value)    
    9.  * remove(key)    删除指定KEY的元素,成功返回True,失败返回False   
    10.  * get(key)    获取指定KEY的元素值VALUE,失败返回NULL   
    11.  * element(index)   获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL   
    12.  * containsKey(key)  判断MAP中是否含有指定KEY的元素   
    13.  * containsValue(value) 判断MAP中是否含有指定VALUE的元素   
    14.  * values()    获取MAP中所有VALUE的数组(ARRAY)   
    15.  * keys()     获取MAP中所有KEY的数组(ARRAY)   
    16.  *   
    17.  * 例子:   
    18.  * var map = new Map();   
    19.  *   
    20.  * map.put("key", "value");   
    21.  * var val = map.get("key")   
    22.  * ……   
    23.  *   
    24.  */     
    25. function Map() {     
    26.     this.elements = new Array();     
    27.        
    28.     //获取MAP元素个数     
    29.     this.size = function() {     
    30.         return this.elements.length;     
    31.     }     
    32.        
    33.     //判断MAP是否为空     
    34.     this.isEmpty = function() {     
    35.         return(this.elements.length < 1);     
    36.     }     
    37.        
    38.     //删除MAP所有元素     
    39.     this.clear = function() {     
    40.         this.elements = new Array();     
    41.     }     
    42.        
    43.     //向MAP中增加元素(key, value)      
    44.     this.put = function(_key, _value) {     
    45.         this.elements.push( {     
    46.             key : _key,     
    47.             value : _value     
    48.         });     
    49.     }     
    50.        
    51.     //删除指定KEY的元素,成功返回True,失败返回False     
    52.     this.remove = function(_key) {     
    53.         var bln = false;     
    54.         try{     
    55.             for(i = 0; i < this.elements.length; i++) {     
    56.                 if(this.elements[i].key == _key) {     
    57.                     this.elements.splice(i, 1);     
    58.                     return true;     
    59.                 }     
    60.             }     
    61.         } catch(e) {     
    62.             bln = false;     
    63.         }     
    64.         return bln;     
    65.     }     
    66.        
    67.     //获取指定KEY的元素值VALUE,失败返回NULL     
    68.     this.get = function(_key) {     
    69.         try{     
    70.             for(i = 0; i < this.elements.length; i++) {     
    71.                 if(this.elements[i].key == _key) {     
    72.                     return this.elements[i].value;     
    73.                 }     
    74.             }     
    75.         } catch(e) {     
    76.             return null;     
    77.         }     
    78.     }     
    79.        
    80.     //获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL     
    81.     this.element = function(_index) {     
    82.         if(_index < 0 || _index >= this.elements.length) {     
    83.             return null;     
    84.         }     
    85.         return this.elements[_index];     
    86.     }     
    87.        
    88.     //判断MAP中是否含有指定KEY的元素     
    89.     this.containsKey = function(_key) {     
    90.         var bln = false;     
    91.         try{     
    92.             for(i = 0; i < this.elements.length; i++) {     
    93.                 if(this.elements[i].key == _key) {     
    94.                     bln = true;     
    95.                 }     
    96.             }     
    97.         } catch(e) {     
    98.             bln = false;     
    99.         }     
    100.         return bln;     
    101.     }     
    102.        
    103.     //判断MAP中是否含有指定VALUE的元素     
    104.     this.containsValue = function(_value) {     
    105.         var bln = false;     
    106.         try{     
    107.             for(i = 0; i < this.elements.length; i++) {     
    108.                 if(this.elements[i].value == _value) {     
    109.                     bln = true;     
    110.                 }     
    111.             }     
    112.         } catch(e) {     
    113.             bln = false;     
    114.         }     
    115.         return bln;     
    116.     }     
    117.        
    118.     //获取MAP中所有VALUE的数组(ARRAY)     
    119.     this.values = function() {     
    120.         var arr = new Array();     
    121.         for(i = 0; i < this.elements.length; i++) {     
    122.             arr.push(this.elements[i].value);     
    123.         }     
    124.         return arr;     
    125.     }     
    126.        
    127.     //获取MAP中所有KEY的数组(ARRAY)     
    128.     this.keys = function() {     
    129.         var arr = new Array();     
    130.         for(i = 0; i < this.elements.length; i++) {     
    131.             arr.push(this.elements[i].key);     
    132.         }     
    133.         return arr;     
    134.     }     
    1. /*   
    2.  * MAP对象,实现MAP功能   
    3.  *   
    4.  * 接口:   
    5.  * size()     获取MAP元素个数   
    6.  * isEmpty()    判断MAP是否为空   
    7.  * clear()     删除MAP所有元素   
    8.  * put(key, value)   向MAP中增加元素(key, value)    
    9.  * remove(key)    删除指定KEY的元素,成功返回True,失败返回False   
    10.  * get(key)    获取指定KEY的元素值VALUE,失败返回NULL   
    11.  * element(index)   获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL   
    12.  * containsKey(key)  判断MAP中是否含有指定KEY的元素   
    13.  * containsValue(value) 判断MAP中是否含有指定VALUE的元素   
    14.  * values()    获取MAP中所有VALUE的数组(ARRAY)   
    15.  * keys()     获取MAP中所有KEY的数组(ARRAY)   
    16.  *   
    17.  * 例子:   
    18.  * var map = new Map();   
    19.  *   
    20.  * map.put("key", "value");   
    21.  * var val = map.get("key")   
    22.  * ……   
    23.  *   
    24.  */     
    25. function Map() {     
    26.     this.elements = new Array();     
    27.        
    28.     //获取MAP元素个数     
    29.     this.size = function() {     
    30.         return this.elements.length;     
    31.     }     
    32.        
    33.     //判断MAP是否为空     
    34.     this.isEmpty = function() {     
    35.         return(this.elements.length < 1);     
    36.     }     
    37.        
    38.     //删除MAP所有元素     
    39.     this.clear = function() {     
    40.         this.elements = new Array();     
    41.     }     
    42.        
    43.     //向MAP中增加元素(key, value)      
    44.     this.put = function(_key, _value) {     
    45.         this.elements.push( {     
    46.             key : _key,     
    47.             value : _value     
    48.         });     
    49.     }     
    50.        
    51.     //删除指定KEY的元素,成功返回True,失败返回False     
    52.     this.remove = function(_key) {     
    53.         var bln = false;     
    54.         try{     
    55.             for(i = 0; i < this.elements.length; i++) {     
    56.                 if(this.elements[i].key == _key) {     
    57.                     this.elements.splice(i, 1);     
    58.                     return true;     
    59.                 }     
    60.             }     
    61.         } catch(e) {     
    62.             bln = false;     
    63.         }     
    64.         return bln;     
    65.     }     
    66.        
    67.     //获取指定KEY的元素值VALUE,失败返回NULL     
    68.     this.get = function(_key) {     
    69.         try{     
    70.             for(i = 0; i < this.elements.length; i++) {     
    71.                 if(this.elements[i].key == _key) {     
    72.                     return this.elements[i].value;     
    73.                 }     
    74.             }     
    75.         } catch(e) {     
    76.             return null;     
    77.         }     
    78.     }     
    79.        
    80.     //获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL     
    81.     this.element = function(_index) {     
    82.         if(_index < 0 || _index >= this.elements.length) {     
    83.             return null;     
    84.         }     
    85.         return this.elements[_index];     
    86.     }     
    87.        
    88.     //判断MAP中是否含有指定KEY的元素     
    89.     this.containsKey = function(_key) {     
    90.         var bln = false;     
    91.         try{     
    92.             for(i = 0; i < this.elements.length; i++) {     
    93.                 if(this.elements[i].key == _key) {     
    94.                     bln = true;     
    95.                 }     
    96.             }     
    97.         } catch(e) {     
    98.             bln = false;     
    99.         }     
    100.         return bln;     
    101.     }     
    102.        
    103.     //判断MAP中是否含有指定VALUE的元素     
    104.     this.containsValue = function(_value) {     
    105.         var bln = false;     
    106.         try{     
    107.             for(i = 0; i < this.elements.length; i++) {     
    108.                 if(this.elements[i].value == _value) {     
    109.                     bln = true;     
    110.                 }     
    111.             }     
    112.         } catch(e) {     
    113.             bln = false;     
    114.         }     
    115.         return bln;     
    116.     }     
    117.        
    118.     //获取MAP中所有VALUE的数组(ARRAY)     
    119.     this.values = function() {     
    120.         var arr = new Array();     
    121.         for(i = 0; i < this.elements.length; i++) {     
    122.             arr.push(this.elements[i].value);     
    123.         }     
    124.         return arr;     
    125.     }     
    126.        
    127.     //获取MAP中所有KEY的数组(ARRAY)     
    128.     this.keys = function() {     
    129.         var arr = new Array();     
    130.         for(i = 0; i < this.elements.length; i++) {     
    131.             arr.push(this.elements[i].key);     
    132.         }     
    133.         return arr;     
    134.     }     
    135. }   
  • 相关阅读:
    Django ORM多表操作
    Django 单表查询作业-笔记
    python 2 编码问题
    HTML-Bootstrap下载和基本使用
    Django ORM单表操作之增删改查
    Django ORM简介和单表创建的设置和过程
    Django --总结 之URL路由控制 视图相应,视图请求,和模板语法
    Django URL控制器
    JAVA编程
    UMI 的原理分析带有 UMI 的数据
  • 原文地址:https://www.cnblogs.com/zfzf1/p/6715782.html
Copyright © 2011-2022 走看看