数据结构与算法JavaScript描述-个人练习(Dictionary)

#Data Structure - Dictionary @(Data Structure & Algorithm)

function Dict(){
    this.dataStore = [];
}
Dict.prototype = {
    constructor: Dict,
    add: function(key,val){
        this.dataStore[key] = val;
    },
    //查找key,返回val
    find: function(key){
        if (this.dataStore[key] !== undefined){
            return this.dataStore[key];
        } else {
            return false;
        }
    },
    remove: function(key){
        if (this.dataStore[key] !== undefined){
            delete this.dataStore[key];
            return true;
        } else {
            return false;
        }
    },
    display: function(){
        //Object.keys(obj)返回该obj中可被枚举的所有属性
        //返回值是一个新数组keys
        var keys = Object.keys(this.dataStore);
        var key;
        for (var i = 0; i< keys.length; i++){
            key = keys[i];
            console.log(key + ": " + this.dataStore[key]);
        }
    },
    displaySorted: function(){
        //keys 为以数字为键的数组,可以使用.sort()
        var keys = Object.keys(this.dataStore).sort();
        var key;
        for (var i = 0; i< keys.length; i++){
            key = keys[i];
            console.log(key + ": " + this.dataStore[key]);
        }
    },
    count: function(){
        var keys = Object.keys(this.dataStore);
        return keys.length;
    },
    clear: function(){
        this.dataStore = [];
    }
};

var dict = new Dict();
dict.add("a2",1);
dict.add("a1",2);
dict.add("a3",3);

两种遍历方式:

  • for (key in dataStore)dataStore.hasOwnProperty(key)判断
  • Object.keys(dataStore)keys array loop

推荐方法2,因为keys array可以使用keys.sort()来排序,也可以使用keys.length来求长度

转载于:https://my.oschina.net/xixine/blog/471543

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值