javascript中有没有map对象

本文讲解"javascript中有没有map对象",希望能够解决您遇到的有关问题,下面我们来看这篇 "javascript中有没有map对象" 文章。

JavaScript中有map对象;map对象保存键值对,是键值对的集合,map对象存有键值对时,其中的键可以是任何数据类型,map对象记得键的原始插入顺序并且具有表示映射大小的属性,能够使用对象作为键是Map的一个重要特性。

本教程操作环境:windows10系统、javascript1.8.5版、Dell G3电脑。

javascript中有map对象

Map 对象存有键值对,其中的键可以是任何数据类型。

Map 对象记得键的原始插入顺序。

Map 对象具有表示映射大小的属性。

Map 对标的是 Object,是一种类似于对象的键值对数据结构
  • 不同于Object 的是Map 的键可以为任意类型的值(null 会被当做 undefined),而不仅仅为字符串

  • Map 的键值是有序的,可通过 size 获取长度

  • Map 在频繁增删键值对的场景下会有一些性能优势

let map = new Map([
    ["姓名", "张三"],
    ["年龄","18"],
    [null, null],
    [undefined, null]])// 类似于:let obj = {
    '姓名': '张三',
    '年龄': 18,
    'null': null,
    'undefined': null}map.set(obj, 'new obj')console.log(...map)

javascript中有没有map对象

操作方法

方法/属性描述
size属性,获取当前Map对象的长度,同数组的 length
set(key,value)向当前Map对象中添加一个值,返回的Map对象,支持链式写法
get(key)通过key找到value(key为对象时,必须为同一对象的引用),如果找不到,返回undefined
delete(key)删除当前Map对象中的一个值,返回一个布尔值,表示是否删除成功
has(key)检测这个value是否是当前Map对象的一个元素,通过返回的布尔值表示
clear()清除当前Map对象所有元素,没有返回值

Map 遍历方法

方法/属性功能介绍
keys()返回该Set对象键名的遍历器
values()返回该Set对象键值的遍历器
entries()返回该Set对象键值对的遍历器
forEach()使用回调函数遍历该Set对象的每个元素,可以接受第二个参数,用来绑定this
for(let item of map.entries()) {
    console.log(item[0], item[1])}// 等同于for(let [key, value] of map) {
    console.log(key, value)}map.forEach((value, key, map)=> {
    console.log(key, value)})

javascript中有没有map对象

关于 "javascript中有没有map对象" 就介绍到这。希望大家多多支持编程宝库

本文讲解"javascript和es的区别有哪些",希望能够解决您遇到的有关问题,下面我们来看这篇 "javascript和es的区别有哪些" 文章。javascript和es的区别:1、JavaSc ...