zoukankan      html  css  js  c++  java
  • js下的map数据对象构建


    mapUtil = function(){
    this.map = new Array();
    };

    mapUtil.prototype = {
    //Update or Insert
    add : function(key, value){
    for (var i = 0; i < this.map.length; i++)
    {
    if ( this.map[i].key+"" === key+"" )
    {
    this.map[i].value = value;
    return;
    }
    }

    this.map[this.map.length] = new struct(key, value);
    },
    put : function(key, value){
    for (var i = 0; i < this.map.length; i++)
    {
    if ( this.map[i].key+"" === key+"" )
    {
    this.map[i].value = value;
    return;
    }
    }

    this.map[this.map.length] = new struct(key, value);
    },
    //Query
    get : function(key){
    for (var i = 0; i < this.map.length; i++)
    {
    if ( this.map[i].key+"" == key +"")
    {
    return this.map[i].value;
    }
    }

    return undefined;
    },
    getKeyByIndex : function(index){
    if(index >= 0 && index < this.map.length){
    return this.map[index].key;
    }

    return null;
    },
    getByIndex : function(index){
    if(index >= 0 && index < this.map.length){
    return this.map[index].value;
    }

    return null;
    },
    getIndexByKey:function(key){
    for (var i = 0; i < this.map.length; i++)
    {
    if ( this.map[i].key+"" === key +"")
    {
    return i;
    }
    }
    },
    //Delete
    remove : function(key){
    var v;
    var len = this.map.length;
    for (var i = 0; i < len; ++i)
    {
    v = this.map.pop();
    if ( v.key === key ){
    continue;
    }

    this.map.unshift(v);
    }
    },
    removeByIndex : function(index){
    var v;
    var len = this.map.length;
    for (var i = 0; i < len; i++)
    {
    v = this.map.shift();
    if ( i === index ){
    continue;
    }

    this.map.push(v);
    }
    },

    //clear
    clear : function(){
    this.map.splice(0, this.map.length);
    },
    removeAll : function(){
    this.map.splice(0, this.map.length);
    },

    size: function(){
    return this.map.length;
    },

    isEmpty : function(){
    return (this.map.length <= 0);
    },
    toString:function(){
    var v="";
    for (var i = 0; i < this.map.length; i++){
    v+=this.map[i].key+":"+this.map[i].value+";"
    }
    return v;
    }
    };

    //模拟<key, value>数据结构
    function struct(key, value){
    this.key = key;
    this.value = value;
    };

  • 相关阅读:
    Logstash配置文件介绍
    ElasticSearch搜索介绍四
    ElasticSearch文档操作介绍三
    ElasticSearch集群介绍二
    ElasticSearch入门介绍一
    Curl中的参数知多少
    sed命令使用介绍(转载)
    实例方法、类方法、静态方法
    函数概述,参数,可变参数,关键字参数,组合参数,递归函数
    startswith()函数与endswith()函数判断文件的开头和结尾
  • 原文地址:https://www.cnblogs.com/emmalai/p/5541808.html
Copyright © 2011-2022 走看看