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

  • 相关阅读:
    mybatis总结(五)(延迟加载)
    mybatis总结(四)(mybatis的动态sql)
    mybatis总结(三)(resultMap和高级映射-级联)
    mybatis总结(二)(mybatis的基本增删改查实例说明)
    mybatis总结(一)(mybatis的基本定义介绍)
    法门扫地僧简历经验分享
    法门扫地僧面试宝典第五版
    关于https不支持http的解决方案
    浏览器渲染原理
    前端面试宝典第三版
  • 原文地址:https://www.cnblogs.com/emmalai/p/5541808.html
Copyright © 2011-2022 走看看