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

    }
  • 相关阅读:
    demo16-打印名字
    demo15-获取标签里面的值
    bufferedReader 读取文件第一行第一个字符丢失问题
    Python的逻辑控制true/false和循环
    python中的对文件的读写
    Python初学习:简单的练习题
    VMware安装的Linux系统忘记密码 怎么修改root密码
    ZooKeeper伪分布式集群安装及使用
    Jersey实现跨服务器上传图片:UniformInterfaceException:403 Forbidden
    Spring中的一些面试题
  • 原文地址:https://www.cnblogs.com/lizhang4/p/11282620.html
Copyright © 2011-2022 走看看