10 【Directionary】js字典

跟集合类似,只是key发生了变化

'use strict';

class Directionary {
    // 构建函数
    constructor () {
        this.items = {}
    }

    // create / change a new / old value
    set (key, value) {
        this.items[key] = value;
        return true
    }

    // delete a old value 
    remove (key) {
        if (this.has(key)) {
            delete this.items[key]
            console.log('删除成功');
            return true
        }
        return false
    }
 
    // confirm
    has (key) {
        return key in this.items
    }

    // get the value of key
    get (key) {
        // let a = this.items[key]
        // console.log('aaaa:' + a);
        return this.items[key] ? this.items[key] : undefined
    }

    // clear all items
    clear () {
        this.items = {}
        return 'clear is ok!'
    }

    // show how many items in the directionary
    size () {
        return Object.keys(this.items).length
    }

    // show all keys
    keys () {
        return Object.keys(this.items)
    }

    // show all values in the key
    values () {
        let values = []

        for(let i in this.items) {
            values.push(this.items[i])
        }
        
        return values
    }

}

let directionary = new Directionary ()
let temp; 
directionary.set(1, 1)
directionary.set(2, 3)
temp = directionary.has(1)

console.log('=====================');
console.log('1.TEST1: has()');
console.log(temp);
console.log('=====================');
console.log('2. TEST2: values()');
temp = directionary.values()
console.log(temp);
console.log('=====================');
console.log('3. TEST3: keys()');
temp = directionary.keys()
console.log(temp);
console.log('=====================');
console.log('4. TEST4: size()');
temp = directionary.size()
console.log(temp);
// console.log('=====================');
// console.log('5. TEST5: clear()');
// temp = directionary.clear()
// console.log(temp);
console.log('=====================');
console.log('6. TEST6: get()');
temp = directionary.get(2)
console.log(temp);
console.log('=====================');
console.log('7. TEST7: remove()');
temp = directionary.remove(1)
console.log(temp);
console.log('=====================');

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java集合类可用于存储数量不等的对象,并可以实现常用的数据结构如栈,队列等,Java集合还可以用于保存具有映射关...
    小徐andorid阅读 1,975评论 0 13
  • //Clojure入门教程: Clojure – Functional Programming for the J...
    葡萄喃喃呓语阅读 3,776评论 0 7
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,144评论 1 32
  • 昨天看了《精灵旅社2》挺好玩的。电影从吸血鬼和人类的婚礼开始,讲了他们婚后的故事。当然主要是围绕可爱的小孩的事情。...
    double_W阅读 320评论 0 0
  • 早上我心里非常开心,因为今天我要去碗窑古村了。我坐上车去往阳碗窑古村的路上,一路上风景非常美丽,有溪水河流竹林还有...
    余晨杰阅读 339评论 0 0