首页  >  文章  >  web前端  >  javascript中有map对象吗

javascript中有map对象吗

WBOY
WBOY原创
2022-07-01 16:00:062132浏览

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

javascript中有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)

在这里插入图片描述

操作方法

方法/属性 描述
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视频教程web前端

以上是javascript中有map对象吗的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn