美文网首页
ES6 Map结构数据

ES6 Map结构数据

作者: 祝名 | 来源:发表于2018-12-17 19:21 被阅读0次

一.Map结构数据

1. 传统对象键名必须为字符串

let obj = {a:1, 666:2}; console.log(666);-->报错

2.map结构数据是一种“值-值”对应关系

let m = new Map();
m.set(123,'abc');
console.log(m.get(123));
--> abc

二.Map结构数据初始化和方法

1. 可直接传入键值对二维数组

2. get()-获得数据

let m = new Map([
    [123,'abc'],
    ['a',{x:1,y:2}],
    [3>1,666]
]);
获得数据
console.log(m.get(true));
-->返回666

3. has()-查找有没有字符串对应的值

接上面例子

m.has('a');-->true

4. delete()-删除

m.delete(123);

三.map结构对象键名特点

1. 传址特点--对象作为键名,传输的是地址,所以下例中的两个{x:1}虽然长相一样,但实际值不同(存储在堆内存的两个位置)

let m = new Map([
    [123,'abc'],
    [{x:1},'cdf'],
]);
console.log(m.get({x:1}));
-->undefined

可以修改成下面形式

let obj = {x:1};
let m = new Map([
    [123,'abc'],
    [obj,'cdf'],
]);
console.log(m.get(obj));
-->cdf

四.map结构遍历

1. keys()-->将键名都取出来,组成一个可遍历的数据集合

let m = new Map([
    [123,'abc'],
    ['a','hahaha'],
    [1>2,'baidu.com']
]);
for(let x of m.keys()){
    console.log(x);
}
-->123 a false

2. values()

let m = new Map([
    [123,'abc'],
    ['a','hahaha'],
    [1>2,'baidu.com']
]);
for(let x of m.values()){
    console.log(x);
}
-->abc hahaha baidu.com

3. entries()

let m = new Map([
    [123,'abc'],
    ['a','hahaha'],
    [1>2,'baidu.com']
]);
for(let x of m.entries()){
    console.log(x);
}
-->
Array[123,'abc']
Array['a','hahaha']
Array[false ,'baidu.com]

4. forEach()--第一个参数代表键值,第二个参数代表键名

let m = new Map([
    [123,'abc'],
    ['a','hahaha'],
    [1>2,'baidu.com']
]);
m.forEach(x=>{
    console.log(x);
})
-->返回abc hahaha baidu.com


m.forEach((x,y)=>{
    console.log(x,y);
})
-->返回
abc 123 
hahaha a
baidu.com false

五.map结构扩展运算符

1.



输出hd

2.

输出Array[123,'hd']

相关文章

  • 帮大家理解ES6中的Map

    帮大家了解ES6中的map:Map 是 ES6 中新增的数据结构,Map 类似于对象,但普通对象的 key 必须是...

  • ES6快速入门(二)

    1. Map对象 ES6提供了新的数据结构Map,Map结构提供了“值—值”的对应,是一种更完善的Hash结构实现...

  • 简单总结ES6的Map

    ES6的Map Map结构提供了“值—值”的对应,如果需要键值对的数据结构,Map比Object更合适。它类似于对...

  • 前端海底捞不定期跟新

    2017年8月 1,ES6 Map和Set Map ES6中新增的数据类型,类似PHP中的键值对形式结构 Set ...

  • ES6中的Set和Map

    ES6中新增了Set、WeakSet、Map、WeakMap数据结构 一、Set Set是类似数组的数据结构,和数...

  • ES6系列之Set和Map

    今天,我们来学习一下ES6中新增的两个数据结构:Set和Map。 Set ES6 提供了新的数据结构 Set。它类...

  • Set 和 Map 数据结构

    Set WeakSet Map WeakMap Set § ⇧ 基本用法 § ⇧ ES6 提供了新的数据结构 Se...

  • JavaScript中的Array、Set和Map

    数组、Set和Map比较 都是JavaScript的数据结构 Set是ES6提供的新的数据结构, 类似于数组, 但...

  • ES6 Map数据结构

    Map 集合 1. 概述: ES6 提供了 Map 数据结构。 它类似于对象,Map是一个升级版的对象,也是键值对...

  • ES6中的Map和Set

    Map 一、Map是什么?es6 新提出的一种引用类型的数据结构 类似于对象。Map对象保存键值对。任何值(对象或...

网友评论

      本文标题:ES6 Map结构数据

      本文链接:https://www.haomeiwen.com/subject/yzpckqtx.html