一:Set用法:

  ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。

  (1).打印:console.log
    var data = new Set([1,2,3]);
    //Set {1, 2, 3}
    console.log(data);

  (2).添加: add
    data.add(4);
    //Set {1, 2, 3, 4}
    console.log(data);
    //Set不会重复添加成员
    data.add(4);
    //Set {1, 2, 3, 4}
    console.log(data);

  (3).成员个数:size
    //4
    console.log(data.size);

  (4).删除:delete
    data.delete(1);
    //Set {2, 3, 4}
    console.log(data);

  (5).查找:has
    //true
    console.log(data.has(2));

  (6).遍历: forEach
    //2
    //3
    //4
    data.forEach(d=>{
      console.log(d);
    });

二.Map用法:

  ES6提供了Map数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。

  也就是说,Object结构提供了“字符串—值”的对应,Map结构提供了“值—值”的对应,是一种更完善的Hash结构实现。

  如果你需要“键值对”的数据结构,Map比Object更合适。

  (1).打印:console.log

    var data = new Map();
    //Map {}
    console.log(data);

  (2).添加 set(key,value)
    data.set('a',1);
    data.set('b',2);
    data.set('c',3);
    //Map {"a" => 1, "b" => 2, "c" => 3
    console.log(data);

  (3).获得: get(key)
    //1
    console.log(data.get('a'));

  (4).成员个数: size
    //3
    console.log(data.size);

  (5).删除:delete
    data.delete('a');
    //Map {"b" => 2, "c" => 3}
    console.log(data);

  (6).查找:has
    //true
    console.log(data.has('b'));

  (7).遍历:forEach
    //b=2
    //c=3
    data.forEach((value,key)=>{
      console.log(key+'='+value);
    });

三.综合使用:

  var s = new Set();

  [2,3,5,4,5,2,2].map(x => s.add(x));

  for(let i of s){

    console.log(i); 

  }

  //2 3 5 4

用vue.js学习es6(五):set和map的使用的更多相关文章

  1. 用vue.js学习es6(一):基本工具及配置

    一.工具: sublime,node.js,npm 1.安装sublime 的es6插件: (1).在sublime中按Ctrl+`调出console (2).粘贴以下代码到底部命令行并回车(subl ...

  2. 用vue.js学习es6(二):let和const使用

    一.运行及关闭运行: 在上一节中我们用shift+右击在C:\vue\es6文件夹中打开命令行使用:npm run dev,打开了我们的vue界面. 如果要关闭则在命令行中按住ctrl+C则可以关闭. ...

  3. 用vue.js学习es6(六):Iterator和for...of循环

    一.Iterator (遍历器)的概念: 遍历器(Iterator)就是这样一种机制.它是一种接口,为各种不同的数据结构提供统一的访问机制.任何数据结构只 要部署Iterator接口,就可以完成遍历操 ...

  4. 用vue.js学习es6(四):Symbol类型

    一.Symbol类型: 1.ES6引入了一种新的原始数据类型Symbol,表示独一无二的值.它是JavaScript语言的第七种数据类型,前六种是:Undefined.Null. 布尔值(Boolea ...

  5. 用vue.js学习es6(三):数组、对象和函数的解构

    一.数组的解构: 以前的方式: var arr = [1,2,3]; console.log(arr[0]); //1 console.log(arr[1]); //2 现在的方式: var [a,b ...

  6. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  7. vue.js 学习笔记3——TypeScript

    目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...

  8. vue.js学习资料

    vue.js学习VuejsAPI教程 https://vuejs.org.cn/guide/Vuejs自己的构建工具 http://www.jianshu.com/p/f8e21d87a572如何用v ...

  9. Vue.js学习笔记:在元素 和 template 中使用 v-if 指令

    f 指令 语法比较简单,直接上代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " ...

随机推荐

  1. CSS布局 - 三栏布局

    CSS布局技术可谓是前端技术中最基础的技术,就是因为基础,所以我认为要更加熟练,深入的去掌握,去梳理. 一. 传统 ---> 浮动实现的三栏布局 采用浮动实现的三栏布局有以下特点及注意事项: · ...

  2. Kafka 如何读取offset topic内容 (__consumer_offsets)

    众所周知,由于Zookeeper并不适合大批量的频繁写入操作,新版Kafka已推荐将consumer的位移信息保存在Kafka内部的topic中,即__consumer_offsets topic,并 ...

  3. 在DevExpress程序中使用SplashScreenManager控件实现启动闪屏和等待信息窗口

    在我很早的WInform随笔<WinForm界面开发之"SplashScreen控件">有介绍如何使用闪屏的处理操作,不过那种是普通WInform和DevExpress ...

  4. CodeMirror简介

    Javascript由于其作为Web标准的独特地位,很多人甚至希望它能一统前后端开发. Javascript的本质工作首先肯定的Web前端开发,本文主要想介绍的CodeMirror是一款Web Edi ...

  5. Mybatis框架的多对一关联关系(六)

    一.一对多的关联映射 一对多关联查询多表数据 1接口 public interface IDeptDAO { //根据部门编号查询该部门单个查询 public Emp getEmpById(Integ ...

  6. 【前端优化之拆分CSS】前端三剑客的分分合合

    几年前,我们这样写前端代码: <div id="el" style="......" onclick="......">测试&l ...

  7. 好玩的Handler

    Android提供了Handler和Looper来满足线程间的通信; Handler和Activity的任务栈不同,它是先进先出原则; Handler:你可以构造Handler对象来与Looper沟通 ...

  8. iOS 语音朗读

    //判断版本大于7.0    if ([[[UIDevice currentDevice] systemVersion] integerValue] >= 7.0) {        NSStr ...

  9. xUtils 3.0 post使用详解

    github:https://github.com/wyouflf/xUtils3 xUtils3简介 xUtils 包含了很多实用的android工具. xUtils 支持超大文件(超过2G)上传, ...

  10. iOS项目分析及优化

    iOS项目分析及优化  来源:吴白的简书   从代码看一个程序员的笔力 从代码的整洁度上就可以看出一个程序员的实力,规范其实就是让你养成一种良好习惯的标杆,在此面前我们应该顺从.本篇我们以OC为例,统 ...