zoukankan      html  css  js  c++  java
  • ES6---Set数据结构

            // Set数据结构:是es6中新增的一种数据结构,它类似与数据,单里面的数据都是唯一的,并且不能够通过索引获取对应的值
            // Set本身是一个构造函数,用来生成Set数据结构
            var arr = [1, 2, 3, 4, '韩信', '李白']
            let setarr = new Set(arr)
            console.log(setarr); // Set(6) {1, 2, 3, 4, "韩信", …}
            console.log(setarr[3]);//undefined  Set数据结构不能通过索引来获取元素

            // Set数据结构常用的方法:

            // 1.add(): 在Set数据对象的尾部添加一个元素,并返回这个Set对象
            setarr.add('周瑜')
            console.log(setarr); // Set(7) {1, 2, 3, 4, "韩信", …}

            // 2. .size: 返回Set数据对象的长度大小
            console.log(setarr.size); // 7

            // 3. delete():删除Set数据对象中的一元素,返回一个布尔值表示是否删除成功
            console.log(setarr.delete('韩信')); // true
            console.log(setarr); // Set(6) {1, 2, 3, 4, "李白", …}
            console.log(setarr.size); // 6

            // 4. .clear: 清空Set数据对象,没有返回值
            setarr.clear();
            console.log(setarr);

            // 5. has(): 返回一个布尔值,判断这个元素在Set对象中是否存在
            console.log(setarr.has(1)); // false


            // Set数据结构是可以遍历的
            [1, 2, 3, 4, 5].map(item => setarr.add(item))
            console.log(setarr);// Set(5) {1, 2, 3, 4, 5}

            // 1..values() 返回一个新的迭代器对象,该对象包含Set对象中的按插入顺序排列的所有元素的值。
            console.log(setarr.values()); // SetIterator {1, 2, 3, 4, 5}

            // 2. 用forEach遍历Set结构数据 
            setarr.forEach(item => { console.log(item + 1); }) //2,3,4,5,6

            // 3.用next()遍历
            let it = setarr.values();
            console.log(it.next());
            console.log(it.next());
            console.log(it.next());
            console.log(it.next());
            console.log(it.next());
            console.log(it.next());

            // 4. 用for...of遍历
            for (let key of setarr) {
                console.log(key); // 1,2,3,4,5
            }

            // 利用Set对数组去重
            var arr1 = [1, 2, 3, 35, 232, 43, 5, 2, 35, 46, 23, 4, 3, 2, 2]
            let arrset = new Set(arr1)
            console.log(arrset);
            // let Arrset = [...arrset]
            let Arrset = Array.from(arrset)
            console.log(Arrset);
  • 相关阅读:
    Asp.net上传文件,过滤不符合要求格式的文件
    取得文件真正扩展名类型
    ORA12505: TNS: 监听程序当前无法识别连接描述符中所给出的 SID
    Android显示图片自适应(控件+网页)
    Android代码资源的国际化
    Eclipse下加载Android SDK源码
    Android 中Webview 自适应屏幕
    网页图片缩放(js)
    android webview 缩放及换行
    subclipse用法
  • 原文地址:https://www.cnblogs.com/1825224252qq/p/11784485.html
Copyright © 2011-2022 走看看