zoukankan      html  css  js  c++  java
  • 创建和使用复合数组

    一、使用Object对象创建复合数组

    var person=new Object();
    person.name="soul";
    person.age="21";

    二、使用Array对象创建复合数组

    var person=new Array();
    person["name"]="soul";
    person["age"]=21;

    三、遍历复合数组

      1、for...in  //返回键

      2、for each...in  //返回值

    四、哈希表

      1、代码实现如下:

    /**
     * 
     * @authors Soul (2461358597@qq.com)
     * @date    2016-05-23 10:23:49
     * @version 0.0.1
     */
    
    /**
    *
    * @description  实现哈希表
    * @param key  键
    * @param value  值
    */
    
    function hashTable(){
        this._hash={};
        this._count=0;
    
        /**
        *
        * @description  设置或更新键值
        * @return  boolean类型,true/false
        */
        this.put=function(key,value){
    
            //若键值不存在则键值数量+1
            if(!this._hash.hasOwnProperty(key)){
                this._count++;
            }
            //设置新的或覆盖旧的键值  不会有重复的键值存在
            this._hash[key]=value;    
            return true;    
        };
        /**
        *
        * @description  获取键指定的值
        * @return  value
        */
        this.get=function(key){
            if(this.containsKey(key))
                return this._hash[key];
        };
        /**
        *
        * @description  获取元素个数
        * @return  _count
        */
        this.size=function(){
            return this._count;
        };
        /**
        *
        * @description  检查是否为空
        * @return  boolean
        */
        this.isEmpty=function(){
            if(this._count==0){
                return true;
            }else{
                return false;
            }
        };
        /**
        *
        * @description  检查是否包含指定的键
        * @param key  键
        * @return  boolean
        */
        this.containsKey=function(key){
            return this._hash.hasOwnProperty(key);
        };
        /**
        *
        * @description  检查是否包含指定的值
        * @param value  值
        * @return  Boolean
        */
        this.containsValue=function(value){
            for(var _key in this._hash){
                if(this._hash[_key]==value){
                    return true;
                }
                return false;
            }
        };
        /**
        *
        * @description  删除一组键值
        * @param key  键
        * @return  Boolean
        */
        this.remove=function(key){
            if(this.containsKey(key)){
                delete this._hash[key];
                this.count--;
                return true;
            }
            return false;
        };
        /**
        *
        * @description  清空所有键值
        * @return Boolean
        */
        this.clear=function(){
            this._hash={};
            this._count=0;
            return true;
        };
        /**
        *
        * @description  获取key集合,以数组的形式返回
        * @return Array
        */
        this.keySet=function(){
            var arrKeySet=new Array();
            var index=0;
            for(var _key in this._hash){
                arrKeySet[index++]=_key;
            }
            return (arrKeySet.length===0)?null:arrKeySet;
        };
        /**
        *
        * @description  获取value集合,以数组的形式返回
        * @return  Array
        *
        */
        this.valueSet=function(){
            var arrValueSet=new Array();
            var index=0;
            for(var _key in this._hash){
                arrValueSet[index++]=this._hash[_key];
            }
            return (arrValueSet.length==0)?null:arrValueSet;
        }
    }

      2、测试如下:

      

    All rights reserved please indicate the source if reprint---吓尿了的大肥鼠
  • 相关阅读:
    linux I2C 读写 tlv320dac3100
    ubuntu lfs
    安装和使用花生壳(linux)
    vim 配置
    vim
    gnome2 恢复默认 panel
    ubuntu 挂在 jffs2 文件
    gstreamer 播放
    gstreamer 环境变亮设置
    探讨【IGE】的源代码【五】。
  • 原文地址:https://www.cnblogs.com/realsoul/p/5519473.html
Copyright © 2011-2022 走看看