美文网首页全栈记
7 ES6 Set、Map数据结构

7 ES6 Set、Map数据结构

作者: 官清岁月 | 来源:发表于2019-05-11 08:08 被阅读0次

    Set:集合;Map:字典; -> ES6新数据存储结构,babel无法进行“语法降级”,因此其的兼容性不好;

    Set、Map都是构造函数,Set存储结构是集合,Map存储结构称为字典(底层实现:链表、Hash算法、桶 => 利用hash算法固定位置,邻接链表产生联系,最终存储的地方称之为桶[大多为数组],整个结构为“字典”,查询速度更快);

    1、Set -> 创建的对象中只有属性值,没有属性名,而且不重复(实际这是集合的特点:无重复性)

    - - ->>> 基础使用(初始化、API[原型链查看即可])、去重、转换为数组、并集、交集、差集;

    2、Map -> 创建的对象是“键值对”的集合,任何值都可当属性(并非只能是字符串)、去重(属性名相同,属性值不同不会去重 -> 存储数据"同名的人很多哈");

    [对象属性名必须是字符串,若不写入字符串形式,其会隐式调用toString(); 类数组中的索引属性也是字符串形式,obj[];括号内必须为字符串形式;开发中往往对象属性名引号进行省略,但json数据的引号是不可省略的;Map数据结构中属性名可以是任意数据类型 ]

    - - ->>> 原理实现:链表、hash算法、桶;// hash算法把不定范围的值转化为固定范围的值

    Map底层实现:

    链接链表:不同对象产生联系 -> next连接;

    hash算法:将属性转换为特定范围的值,存储在特定的“区块”;

    桶:存储

    相关文章

      网友评论

        本文标题:7 ES6 Set、Map数据结构

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