• 表示集合的数据结构:数组(Array),对象(Object),Map和Set


    MapSet是ES6标准新增的数据类型

    Map: 是一组键值对的结构,使用一个二维数组来初始化Map,例如:

    var m = new Map([['xiaohong',100],['xiaolan',99],['xiaoming',108]]);

    或者直接初始化一个空Map:

    var m = new Map();

    m.set('xiaoli',98);

    m.get('xiaoli'); // 98

    m.delete('xiaoli');//删除xiaoli这个键值对

    m.get('xiaoli'); // undefined

    Map结构的key只能对应一个value,如果给一个key多次赋值,那么后面的值会覆盖前面的值。

    m.set('xiaolan',88);

    m.set('xiaolan',97);

    m.get('xiaolan'); // 97

    Set: 是一个一维数组初始化的结构,没有value值,只包含key值,例如:

    var s = new Set([3,2,1]);

    重复元素在Set中自动被过滤掉:

    var s = new Set([1,3,5,6,6,'6']);

    s; // Set(5) {1, 3, 5, 6, "6"} 整数6和字符串‘6’是不同的值

    添加元素到Set中:

    var s = new Set();

    s.add(18);

    s; // Set(1) {18}

    Set通过delete(key)的方法删除元素:

    s.delete(18);

    Object和Map都是键值对,他们的区别是:

    1.在Object对象中, 只能把String和Symbol作为key值, 但是在Map中,key值可以是任何基本类型

    2.通过Map中的size属性, 可以很方便地获取到Map长度, 要获取Object的长度, 你只能用别的方法了

    3.Map对象实例中数据的排序是根据用户push的顺序进行排序的, 而Object实例中key,value的顺序就是有些规律了, (他们会先排数字开头的key值,然后才是字符串开头的key值);

    4.Object对象有原型, 也就是说他有默认的key值在对象上面, 除非我们使用Object.create(null)创建一个没有原型的对象

    关于 Array 和 Set, 区别就是 Set 不可以有重复元素, 而 Array 可以有

  • 相关阅读:
    面试
    二叉树- 二叉树直径
    排序算法
    JAVA编程
    JAVA编程
    JAVA中break和continue的区别
    HTTP的序列化和反序列化
    PL/SQL基础
    G. Game Design
    hdu 6703 array
  • 原文地址:https://www.cnblogs.com/zmj-blog/p/7212571.html
Copyright © 2020-2023  润新知