zl程序教程

您现在的位置是:首页 >  后端

当前栏目

数据结构--字典

数据结构 -- 字典
2023-09-27 14:26:50 时间

  • 微信扫码关注公众号 :前端前端大前端,追求更精致的阅读体验 ,一起来学习啊
  • 关注后发送关键资料,免费获取一整套前端系统学习资料和老男孩python系列课程
    在这里插入图片描述

学习资源推荐 学习资源推荐

const { log } = console;

function Map() {

    let obj = {};
    //向字典中添加或更新元素。
    this.set = (key, value) => {
        obj[key] = value;
    }
    //通过使用键值来从字典中移除键值对应的数据值。
    this.remove = key => {
        if (this.has(key)) {
            delete obj[key];
            return true;
        }
        return false;
    }

    //如果某个键值存在于这个字典中,则返回 true ,反之则返回 false 
    this.has = key => {
        return key in obj;
    }
    //通过键值查找特定的数值并返回。
    this.get = key => {
        return obj[key]
    }
    //将这个字典中的所有元素全部删除。
    this.clear = () => {
        obj = {};
    }
    //返回字典所包含元素的数量。与数组的 length 属性类似。
    this.size = () => {
        return Object.keys(obj).length
    }
    //将字典所包含的所有键名以数组形式返回。
    this.keys = () => {
        return Object.keys(obj)
    }
    //将字典所包含的所有数值以数组形式返回。
    this.values = () => {

        return this.keys().map(item => {
            return obj[item]
        })


    }
    //打印当前对象
    this.print = () => {
        log(obj) ;
    }


}

let map = new Map();

map.set('name', 'tom');
map.set('age', 18);
map.set('language', 'js');

map.print();//{ name: 'tom', age: 18, language: 'js' }

log(map.get('name'))//tom

log(map.remove('name'))//true
log(map.has('name'))//fasle
log(map.values())// [18,'js']
log(map.keys())//[age,language]
log(map.size())//2