JavaScript 模拟 Dictionary

Posted zhangjixuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 模拟 Dictionary相关的知识,希望对你有一定的参考价值。

function Dictionary() {
    var items = {};

    //判断是否包含Key值
    this.has = function(key) {
        return key in items;
    };

    //赋值,添加键值对
    this.set = function(key, value) {
        items[key] = value;
    };

    //移除Key值
    this.remove = function(key) {
        if (this.has(key)) {
            delete items[key];
            return true;
        }
        return false;
    };

    //通过Key值获取Value值
    this.get = function(key) {
        return this.has(key) ? items[key] : undefined;
    };

    //获取所有的Key值
    this.keys = function() {
        var keys = [];
        for (var k in items) {
            keys.push(k);
        }
        return keys;
    };

    //获取所有的Value值
    this.values = function() {
        var values = [];
        for (var k in items) {
            if (this.has(k)) {
                values.push(items[k]);
            }
        }
        return values;
    };

    //初始化键值对
    this.clear = function() {
        items = {};
    };

    //获取键值对的个数
    this.size = function() {
        var count = 0;
        for (var prop in items) {
            if (items.hasOwnProperty(prop)) {++count;
            }
        }
        return count;
    };

    //获取所有的键值对
    this.getItems = function() {
        return items;
    };
}

  

以上是关于JavaScript 模拟 Dictionary的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript中创建字典对象(dictionary)实例

我需要在C#上显式声明一个Dictionary来获取模拟返回值

在javascript中循环遍历python-dictionary-turned-into-json

什么会导致 iPad(第 3 代)在启动时崩溃但在模拟器中工作?

swift 笔记:iOS与JavaScript的交互(三):WKWebView 3. WKUiDelegate - 6 - 5原生利用Dictionary来转换

JavaScript 代写代写JavaScript 编程作业用JavaScript 做mazeJavaScript语言代写