• JavaScript Map对象的实现


    1. [代码]js代码     
    /*
     * MAP对象,实现MAP功能
     *
     * 接口:
     * size()     获取MAP元素个数
     * isEmpty()    判断MAP是否为空
     * clear()     删除MAP所有元素
     * put(key, value)   向MAP中增加元素(key, value) 
     * remove(key)    删除指定KEY的元素,成功返回True,失败返回False
     * get(key)    获取指定KEY的元素值VALUE,失败返回NULL
     * element(index)   获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL
     * containsKey(key)  判断MAP中是否含有指定KEY的元素
     * containsValue(value) 判断MAP中是否含有指定VALUE的元素
     * values()    获取MAP中所有VALUE的数组(ARRAY)
     * keys()     获取MAP中所有KEY的数组(ARRAY)
     *
     * 例子:
     * var map = new Map();
     *
     * map.put("key", "value");
     * var val = map.get("key")
     * ……
     *
     */
    function Map() {
    this.elements = new Array();


    //获取MAP元素个数
    this.size = function() {
    return this.elements.length;
    }


    //判断MAP是否为空
    this.isEmpty = function() {
    return (this.elements.length < 1);
    }


    //删除MAP所有元素
    this.clear = function() {
    this.elements = new Array();
    }


    //向MAP中增加元素(key, value) 
    this.put = function(_key, _value) {
    this.elements.push( {
    key : _key,
    value : _value
    });
    }


    //删除指定KEY的元素,成功返回True,失败返回False
    this.remove = function(_key) {
    var bln = false;
    try {http://www.huiyi8.com/css3/
    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;
    }


    //获取指定KEY的元素值VALUE,失败返回NULL
    this.get = function(_key) {
    try {css3教程
    for (i = 0; i < this.elements.length; i++) {
    if (this.elements[i].key == _key) {
    return this.elements[i].value;
    }
    }
    } catch (e) {
    return null;
    }
    }


    //获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL
    this.element = function(_index) {
    if (_index < 0 || _index >= this.elements.length) {
    return null;
    }
    return this.elements[_index];
    }


    //判断MAP中是否含有指定KEY的元素
    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;
    }


    //判断MAP中是否含有指定VALUE的元素
    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;
    }


    //获取MAP中所有VALUE的数组(ARRAY)
    this.values = function() {
    var arr = new Array();
    for (i = 0; i < this.elements.length; i++) {
    arr.push(this.elements[i].value);
    }
    return arr;
    }


    //获取MAP中所有KEY的数组(ARRAY)
    this.keys = function() {
    var arr = new Array();
    for (i = 0; i < this.elements.length; i++) {
    arr.push(this.elements[i].key);
    }
    return arr;
    }
    }

  • 相关阅读:
    ListView的使用(二)长按弹出上下文菜单
    自己遇到程序安装完图标不显示记录
    ListView的使用(一)
    Docker 构建私有镜像仓库
    DockerFile 编译语法详解
    Docker 添加容器SSH服务
    Docker 数据卷与容器互联
    Docker 镜像与容器管理
    Docker 容器简介与部署
    Zabbix-自带监控项与Kye
  • 原文地址:https://www.cnblogs.com/xkzy/p/3830092.html
Copyright © 2020-2023  润新知