zoukankan      html  css  js  c++  java
  • Js 使用Map

    function Map() {
    this.elements = new Array();
    this.size = function() {
    return this.elements.length;
    },
    this.isEmpty = function() {
    return (this.elements.length < 1);
    },
    this.clear = function() {
    this.elements = new Array();
    },
    this.put = function(_key, _value) {
    if (this.containsKey(_key) == true) {
    if (this.containsValue(_value)) {
    if (this.remove(_key) == true) {
    this.elements.push({
    key : _key,
    value : _value
    });
    }
    } else {
    this.elements.push({
    key : _key,
    value : _value
    });
    }
    } else {
    this.elements.push({
    key : _key,
    value : _value
    });
    }
    },
    this.set = function(_key, _value) {
    if (this.containsKey(_key) == true) {
    if (this.containsValue(_value)) {
    if (this.remove(_key) == true) {
    this.elements.push({
    key : _key,
    value : _value
    });
    }
    } else {
    this.elements.push({
    key : _key,
    value : _value
    });
    }
    } else {
    this.elements.push({
    key : _key,
    value : _value
    });
    }
    },
    this.remove = function(_key) {
    var bln = false;
    try {
    for (i = 0; i < this.elements.length; i++) {
    if (this.elements[i].key == _key) {
    this.elements.splice(i, 1);
    return true;
    }
    }
    } catch (e) {
    bln = false;
    }
    return bln;
    },

    this.delete = function(_key) {
    var bln = false;
    try {
    for (i = 0; i < this.elements.length; i++) {
    if (this.elements[i].key == _key) {
    this.elements.splice(i, 1);
    return true;
    }
    }
    } catch (e) {
    bln = false;
    }
    return bln;
    },

    this.get = function(_key) {
    try {
    for (i = 0; i < this.elements.length; i++) {
    if (this.elements[i].key == _key) {
    return this.elements[i].value;
    }
    }
    } catch (e) {
    return null;
    }
    },

    this.setValue = function(_key, _value) {
    var bln = false;
    try {
    for (i = 0; i < this.elements.length; i++) {
    if (this.elements[i].key == _key) {
    this.elements[i].value = _value;
    return true;
    }
    }
    } catch (e) {
    bln = false;
    }
    return bln;
    },

    this.element = function(_index) {
    if (_index < 0 || _index >= this.elements.length) {
    return null;
    }
    return this.elements[_index];
    },

    this.containsKey = function(_key) {
    var bln = false;
    try {
    for (i = 0; i < this.elements.length; i++) {
    if (this.elements[i].key == _key) {
    bln = true;
    }
    }
    } catch (e) {
    bln = false;
    }
    return bln;
    },

    this.has = function(_key) {
    var bln = false;
    try {
    for (i = 0; i < this.elements.length; i++) {
    if (this.elements[i].key == _key) {
    bln = true;
    }
    }
    } catch (e) {
    bln = false;
    }
    return bln;
    },

    this.containsValue = function(_value) {
    var bln = false;
    try {
    for (i = 0; i < this.elements.length; i++) {
    if (this.elements[i].value == _value) {
    bln = true;
    }
    }
    } catch (e) {
    bln = false;
    }
    return bln;
    },

    this.keys = function() {
    var arr = new Array();
    for (i = 0; i < this.elements.length; i++) {
    arr.push(this.elements[i].key);
    }
    return arr;
    },
    this.values = function() {
    var arr = new Array();
    for (i = 0; i < this.elements.length; i++) {
    arr.push(this.elements[i].value);
    }
    return arr;
    };

    this.forEach = function forEach(callback,context){
    context = context || window;

    var newAry = new Array();
    for(var i = 0; i < this.elements.length;i++) {
    if(typeof callback === 'function') {
    var val = callback.call(context,this.elements[i].value,this.elements[i].key,this.elements);
    newAry.push(this.elements[i].value);
    }
    }
    return newAry;
    }

    }
  • 相关阅读:
    04-struts2框架中获取servlet api及Result结果类型
    03-Action类的创建方式及访问
    一位资深程序员大牛给予Java初学者的学习建议(转)
    C++中数组指针
    Ubuntu 开机出现 grub rescue> 终端模式修复方法
    windows和linux双系统下扩容方法
    C 字符串处理
    C++类中变量定义初始化总结
    python创建xml
    OpenBlas compile centOS6.7 ./kernel/x86_64/dgemm_kernel_4x4_haswell.S:2548: Error: no such instruction: `vpermpd $
  • 原文地址:https://www.cnblogs.com/lizhang4/p/11282620.html
Copyright © 2011-2022 走看看