(精华)2020年7月3日 JavaScript高级篇 ES6(Map数据结构)

Map是什么

// map???
// es6 新提出的一种引用类型的数据结构 类似于对象
// 字符创-》值 值-》值

声明Map数据结构

const map = new Map()
const o = {p:'hello'} // 相当于键 key 
map.set(o,'content') // var a = {} a.name = '张三' a.name
console.log(map.get(o));

证明是引用数据类型

// null 
typeof null 
const map = new Map()
console.log(map instanceof Map); // true 
console.log(Object.prototype.toString.call(map) === '[object Map]');

接收数组作为参数

const map = new Map( [
    ['name','张三'],
    ['age',18]
])
console.log(map.get('name')); // 张三
console.log(map.get('age')); // 18
// map 是数组的方法  Map 是es6新提出的一种新的 引用类型的数据结构
const m = new Map(
    [
        [123,'abc'],
        ['a',{x:1,y:2}],
        [3>1,666]
    ]
)
console.log(m.get(true)); // 666
// 404 Not found 500 InterError 404和500 都是数值
let errors = new Map([
    [404,'Not found'],
    [500,'InterError']
])
// 注意 对象作为键名 传输的是地址
// let m1 = new Map([
//     [123,'abc'],
//     [{x:1},'cdf']
// ])
// console.log(m1.get({x:1})); // undefined
let obj1 = {x:1}
let m1 = new Map([
    [123,'abc'],
    [obj1,'cdf']
])
console.log(m1.get(obj1)); // cdf

Map接收数组作为参数的本质

// 为什么 接收一个二元数组 key value的形式 就可以通过 map.get()获取到值呢
const array = [
    ['name','张三'],
    ['age',18]
]
const map = new Map()
array.forEach(
    ([key,value])=>map.set(key,value)
)

Map参数的扩展

// 具有迭代器 iterator 接口 每个成员都是双元素的数组的数据结构 都可以当做map构造函数的参数
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愚公搬代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值