• 【javascript】js实现容器Map


    js实现容器Map

    var可以定义一个局部变量,当然如果var定义在最外层的话,就是全局的局部变量,也就算是全局变量了。

    this关键字定义的变量准确的说应该算是成员变量。即定义的是调用对象的成员变量。

    另外在“类(构造函数)”中,我们通常也会用var定义私有属性,而this定义公共属性。

    在该博客中,实现的是容器Map的增加,删除,查询,打印功能。源码如下:

    <script>
        function Map() {
            var map = function(key, value) {//键值对
                this.key = key;
                this.value = value;
            }
            var put = function(key, value) {//添加键值对
    
                this.arr[this.arr.length] = new map(key, value);
            }
            var remove = function(key) {//删除key="key"的键值对,返回value值
                for (var i = 0; i < this.arr.length; i++) {
                    var temp = this.arr.pop();
                    if (this.arr[i].key === key) {
    
                        return this.arr[i].value;
                    }
                    this.arr.push(temp);
                }
                return null;
            }
            var getKey = function(value) {//返回key对应的value值
                for (var i = 0; i < this.arr.length; i++) {
                    if (this.arr[i].value === value)
                        return this.arr[i].key;
                }
                return null;
            }
            var getValue = function(key) {//返回value对应的key值
                for (var i = 0; i < this.arr.length; i++) {
                    if (this.arr[i].key === key)
                        return this.arr[i].value;
                }
                return null;
            }
            var getSize = function() {//返回容器大小
                return this.arr.length;
            }
    
            var show = function() {//打印容器内容
                var string = "";
                for (var i = 0; i < this.arr.length; i++) {
                    string += (this.arr[i].key + ":" + this.arr[i].value + "
    ");
                }
                alert(string);
            }
            this.arr = new Array();
            this.remove = remove;
            this.put = put;
            this.show = show;
            this.getKey = getKey;
            this.getValue = getValue;
            this.getSize = getSize;
    
        }
    </script>
    
        <script type="text/javascript">
            var map = new Map();
            map.put("num", 1);
            map.put("red", "2");
            alert(map.getKey(1));
            alert(map.remove("num"));
            map.show();
        </script>
  • 相关阅读:
    ALinq Dynamic 使用指南——前言
    前端与后端分离的架构实例(三)
    前端与后端分离的架构实例(二)
    启动画面QSplashScreen鼠标点击的时候不退出
    Qt组件屏蔽鼠标激活
    Qt LNK2001错误
    QtDesigner中设定一个组件位于另一个组件上方
    QToolButton设置图片
    osgearth_package切片工具切局部影像或者高程tif无法生成切片问题;切完数据集无法显示问题
    Qt输入框添加搜索按钮,以及自动补全内容
  • 原文地址:https://www.cnblogs.com/carsonwuu/p/7538999.html
Copyright © 2020-2023  润新知