码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 模拟 Dictionary

时间:2018-10-19 02:13:40      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:初始   push   delete   键值   als   ret   javascrip   turn   key值   

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

标签:初始   push   delete   键值   als   ret   javascrip   turn   key值   

原文地址:https://www.cnblogs.com/ZhangJiXuan/p/9813754.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!