首页 > 其他分享 >Map 数据结构

Map 数据结构

时间:2024-09-26 16:45:51浏览次数:7  
标签:Map set console log map1 key 数据结构

Map是一种键值队的集合,和对象Object类似。两者的区别:

一、Map和Object 的区别

  • 键的类型:在Map中,键可以是任何类型(包括对象、函数、undefined、NaN等等);而在Object中,键只能是字符串或者符号。
  • 有序性:在Map中,键值对是按照插入(添加)的顺序排列的;而Object不能保证顺序

二、创建:

  创建空的Map,通过set()添加数据:

    const map1 = new Map()
    map1.set(1,2)
    map1.set('color','red')
    map1.set({a:1},'北京')

  使用二维数组初始化Map:

  const map = new Map([
        [1,2],
        ['color','red'],
        [{a:1},'北京']
    ])

上面两种代码均打印如下:

三、实例的属性和方法

  • size: 返回Map实例成员总数
    console.log(map1.size) //3
  • set(key,value):添加key对应的value,返回Map 结构本身
        map1.set(1,2)
        map1.set('color','red')
        map1.set({a:1},'北京')
  • get(key): 获取key对应的值
    console.log(map1.get(1))// 2
  • delete(key): 删除某键值队,返回一个布尔值,表示删除是否成功
    console.log(map1.delete(1)) //true
  • has(key): 某个键是否在当前Map对象之中
    console.log(map1.has(1)) //false
  • clear(): 清空所有的键值队
    map1.clear()

四、遍历

  • keys():返回键名的遍历器
      for(let i of map1.keys()){
            console.log(i) //1 color {a:1}
        }
  • values():返回键值的遍历器
    for(let i of map1.values()){
            console.log(i) //2 red 北京
        }
  • entries():返回键值对的遍历器
    for(let [key,value] of map1.entries()){
            console.log(key,value) 
        }
  • forEach():遍历每个成员
     map1.forEach((item,key) =>{
           console.log(item,key)
        })
  • for...of:Map内部已实现了迭代器,所以可以是用for...of
    for(let i of map1){
            console.log(i) //[1,2] ['color','red'] [{a:1},1]
        }

     

标签:Map,set,console,log,map1,key,数据结构
From: https://www.cnblogs.com/yangkangkang/p/18433709

相关文章

  • 算法与数据结构——快速排序
    快速排序快速排序(quicksort)是一种基于分治策略的排序算法,运行高效,应用广泛。快速排序的核心操作是“哨兵划分”,其目标是::选择数组中的某个元素作为“基准数”,将所有小于基准数的元素移到其左侧,而大于基准数的元素移到其右侧。具体流程如下:选取数组最左端元素作为基准数,初始化......
  • JAVA 数据结构与算法 队列的介绍与应用
    一、队列队列是一个有序列表,可以用数组或者链表来实现遵循先入先出的原则。当我们将数据存入队列时称为”addQueue”,addQueue的处理需要有两个步骤:思路分析:将尾指针往后移:rear+1,当front==rear【空】若尾指针rear小于队列的最大下标maxSize-1,则将数据存入rear所......
  • 【数据结构.总集篇】第一章 链表
    文章目录1.链表1.1线性表1.2顺序表1.3单链表链表简介单链表的介绍线性表的链式存储头节点概念为何引入头结点单链表的基本操作创建一个单链表初始化头插法尾插法删除操作打印总代码1.4单链表循环1.5双链表双链表的定义双链表上的操作初始化插入操作头插法尾插法......
  • TreeMap实现一致性hash
    usingSystem.Security.Cryptography;usingSystem.Text;namespaceConsoleApp7{internalclassProgram{staticvoidMain(string[]args){varservers=newList<string>{......
  • MapperFeature各枚举项的作用
    枚举项作用ACCEPT_CASE_INSENSITIVE_ENUMS决定枚举反序列化是否忽略大小写。如果启用,枚举反序列化将忽略大小写。ACCEPT_CASE_INSENSITIVE_PROPERTIES决定属性名称反序列化是否忽略大小写。如果启用,属性名称反序列化将忽略大小写。ACCEPT_CASE_INSENSITIVE_VALUES......
  • 服务器数据恢复—SAN环境下LUN Mapping错误导致写操作不互斥,文件系统一致性出错的数据
    服务器数据恢复环境:SAN环境下一台存储设备中有一组由6块硬盘组建的RAID6磁盘阵列,划分若干LUN,MAP到不同业务的SOLARIS操作系统服务器上。服务器故障:用户新增了一台服务器,将存储中的某个LUN映射到新增加的这台服务器上。这个映射的LUN其实之前已经MAP到其他SOLARIS操作系统的服务......
  • 算法与数据结构——简单排序算法(选择、冒泡、插入)
    简单排序算法时间复杂度均为O(n2)选择排序选择排序(selectionsort)的工作原理非常简单:开启一个循环,每轮从未排序区间选择最小的元素,将其放到已排序的区间的末尾。算法流程设数组长度为n,选择排序的算法流程如下。初识状态下,所有元素未排序,即未排序(索引)区间为[1,n-1]。选取......
  • Thread , ThreadLocal , ThreadLocalMap , Entry 之间的关系?
    Thread,ThreadLocal,ThreadLocalMap,Entry之间的关系?首先ThradLocal是线程的本地副本,怎么理解这句话呢?一个Thread都有一个它自己的ThreadLocalMap。ThreadLocalMap不是HashMap的结构,而是一个Entry数组,里面存放了一个一个的Entry。而Entry中存放的就是key和value,这个......
  • 数据结构——广义表
    广义表的概念    广义表(又称列表Lists)是n>=0个元素a0,a1,...,an-1的有限序列,其中每一个ai可以是原子,或者是一个广义表。广义表和线性表的区别:线性表的元素是单一的类型,而广义表的元素可以是不同类型,其元素也可以是一个广义表(子表)。广义表通常记作:LS=(a1,a2,...,an)   ......
  • 数据结构(Day20)
    一、学习内容树形结构概念(1树是n个元素的有限集合n==0空树n>0有且只有一个根结点其他的结点互不相交的子集树具有递归性:树中有树树的术语(结点:树的数据元素(根结点:唯一的没有前驱(没有双亲)叶子:终端结点不是唯一的没有后继(没有孩子)度为0分......