Map结构数据初始化和方法和Map结构对象键名特点
1、Map结构数据
// 键值对的形式 a b c 键名。 1 2 3 是键值。a:1 这是一对叫键值对 // 传统对象键名必须是字符串 let obj = { a:1, b:2, c:3 } console.log(obj.a); // Map结构的数据 let m = new Map();这就是创建了一个Map结构的数据 // Map结构的数据其实就是一种"值~值"对应关系 let m = new Map(); // Map键名和键值可以是任意类型的 set:设置 注意看这个是小写的 // set(123,'abc') set:设置 键名123 键值abc m.set(123,'abc'); // 输出结果是 abc get:得到 console.log(m.get(123));
2、Map结构数据初始化和方法
// new Map()是JS语法自带的函数 let m = new Map([ [123,'优酷'], // a对应一个对象 ['a',{x:1,y:2}], // 布 尔值的真 [3>1,666] ]); // 获得数据: // 获得对应布尔值的真 输出结果:666 console.log(m.get(true)); // has表示该值是否有成员'a' 下面返回结果是true就是有 如果 false 表示没有 // 简单说:查看有没有字符串'a'对应的值; console.log(m.has('a')); // 删除123的值 m.delete(123); // 结果是Map { a → {…}, true → 666 } 就没有123的那个对应数据了 console.log(m);
3、Map结构对象键名特点
// 创建一个Map数据 let m = new Map([ // 对象对应一个'优酷' [{a:1},'优酷'], [123,'abc'] ]) // 输出结果:undefined 对象为什么不能获得值,因为对象是传址的一个特点 // 有花括号声明一个对象都会独立开辟一个空间来存储当前花括号表示的对象里面的数据 这个输出的和上面的本质上是两个对象,是不相等的 // 我们想验证一下相等不,结果false不相等 console.log({a:1}=={a:1}); console.log(m.get({a:1})); // 如果用对象来对应的话,这样写 let tt = {a:1}; let k = new Map([ [tt,'优酷'], [123,'abc'] ]) // 输出结果:优酷 console.log(k.get(tt)); // 我们再来判断一下相不相等 结果true是相等的 console.log(k==k); // 输出结果 abc console.log(m.get(123));
本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。
微信扫码关注
更新实时通知