首页 > 其他分享 >map-字典结构-new

map-字典结构-new

时间:2024-04-03 13:56:51浏览次数:19  
标签:map return value toStrFn item key table new 字典

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title> </head> <body>         <script>
        class Dictionary {             table = {}
            toStrFn(item){                 if(item === null){                     return 'NULL'                 } else if(item === undefined){                     return 'UNDEFINED'                 }else if (item === 'string' || item  instanceof String) {                     return item                 }
                return JSON.stringify(item)             }
            hasKey(key){                 return this.table[this.toStrFn(key)] != null             }
            set(key, value){                 if(key != null && value != null){                     const tablekey = this.toStrFn(key)                     this.table[tablekey] = new ValuePair(key, value)                     return true                 }                 return false             }
            get(key){                 const valuepar = this.table[this.toStrFn(key)]                 return valuepar == null ? undefined : valuepar.value             }
            remove(key){                 if(this.hasKey(key)){                     delete this.table[this.toStrFn(key)]                     return true                 }                 return false             }
            keys(){                 return this.keyValues().map(item => item.key)             }
            values(){                 return this.keyValues().map(item => item.value)             }
            keyValues(){                 return Object.values(this.table)             }
            size(){                 return Object.keys(this.table).length             }
            isEmpty(){                 return this.size() === 0             }
            clear(){                 this.table = {}             }  
            forEach(cb){                 const valuepair = this.keyValues()                 for(let i = 0; i < valuepair.length; i++){                     cb(valuepair[i].key, valuepair[i].value)                 }             }
        }
        class ValuePair {             constructor(key, value){                 this.key = key                 this.value = value             }           }
        var mymap = new Dictionary();           mymap.set('name','Eric')         mymap.set({a:1},'aaa')
        mymap.forEach((key,value)=>{             console.log(key,value)         })
    </script>
    </body> </html>

标签:map,return,value,toStrFn,item,key,table,new,字典
From: https://www.cnblogs.com/eric-share/p/18112513

相关文章

  • 为什么开启sourcemap后打断点,即使取消断点,实际上还是会断住
    开启SourceMaps后,当在开发工具中为源代码设置断点时,实际上是将断点映射到了经过编译、压缩或打包后的生产代码中相应的位置。SourceMaps的作用就是建立起源代码与编译后代码之间的对应关系,使得开发者能够在查看和调试源代码时如同直接操作未经处理的原始代码一样。即使取消......
  • 栈结构-stack-new
    <!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <metahttp-equiv="X-UA-Compatible"content="IE=edge">  <metaname="viewport"content="width=d......
  • 队列-new
    <!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <metahttp-equiv="X-UA-Compatible"content="IE=edge">  <metaname="viewport"content="width=d......
  • 单链表-案例-new
    <!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <metahttp-equiv="X-UA-Compatible"content="IE=edge">  <metaname="viewport"content="width=d......
  • 双端队列-案例-回文-new
    <!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <metahttp-equiv="X-UA-Compatible"content="IE=edge">  <metaname="viewport"content="width=d......
  • 循环列表-new
    <!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <metahttp-equiv="X-UA-Compatible"content="IE=edge">  <metaname="viewport"content="width=d......
  • 双向链表-new
    <!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <metahttp-equiv="X-UA-Compatible"content="IE=edge">  <metaname="viewport"content="width=d......
  • 集合set-new
    <!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <metahttp-equiv="X-UA-Compatible"content="IE=edge">  <metaname="viewport"content="width=d......
  • 大数据实验统计-1、Hadoop安装及使用;2、HDFS编程实践;3、HBase编程实践;4、MapReduce编
    大数据实验统计1、Hadoop安装及使用;一.实验内容Hadoop安装使用:1)在PC机上以伪分布式模式安装Hadoop;2)访问Web界面查看Hadoop信息。二.实验目的1、熟悉Hadoop的安装流程。2、熟悉Hadoop访问Web界等基本操作。大数据实验一,Hadoop安装及使用-CSDN博客文章浏览阅读149次,点赞3......
  • excel文件数据行携带表头信息为map
    privateList<Map<String,String>>readExcelForMap(InputStreaminput){List<Map<String,String>>list=newArrayList<>();EasyExcel.read(input,newAnalysisEventListener<Map<String,String>>(){......