01快速入门-04-Map、Set和iterable(ES6)
1、Map
var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
m.get('Michael'); // 95
var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
m.get('Michael'); // 95
var m = new Map(); // 空Map
m.set('Adam', 67); // 添加新的key-value
m.set('Bob', 59);
m.has('Adam'); // 是否存在key 'Adam' --> true
m.get('Adam'); // 67
m.delete('Adam'); // 删除key 'Adam'
m.get('Adam'); // undefined
var m = new Map(); // 空Map
m.set('Adam', 67); // 添加新的key-value
m.set('Bob', 59);
m.has('Adam'); // 是否存在key 'Adam' --> true
m.get('Adam'); // 67
m.delete('Adam'); // 删除key 'Adam'
m.get('Adam'); // undefined
2、Set
var s1 = new Set(); // 空Set
var s2 = new Set([1, 2, 3]); // 含1, 2, 3
var s1 = new Set(); // 空Set
var s2 = new Set([1, 2, 3]); // 含1, 2, 3
var s = new Set([1, 2, 3, 3, '3']);
s; // Set {1, 2, 3, "3"} --> 注意数字3和字符串'3'是不同的元素
var s = new Set([1, 2, 3, 3, '3']);
s; // Set {1, 2, 3, "3"} --> 注意数字3和字符串'3'是不同的元素
'use strict';
// var set = new Set([1,2,1,2,2,1]);
var arr = [1,2,1,2,2,1];
//new Set 数组去重
function unique(arr){
return Array.from(new Set(arr));
};
//使用ES6的方法可以去重.
console.log(unique(arr));
'use strict';
// var set = new Set([1,2,1,2,2,1]);
var arr = [1,2,1,2,2,1];
//new Set 数组去重
function unique(arr){
return Array.from(new Set(arr));
};
//使用ES6的方法可以去重.
console.log(unique(arr));
3、iterable
'use strict';
var a = [1, 2, 3];
for (var x of a) {
alert(x);
}
'use strict';
var a = [1, 2, 3];
for (var x of a) {
alert(x);
}
var a = ['A', 'B', 'C'];
var s = new Set(['A', 'B', 'C']);
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
for (var x of a) { // 遍历Array
alert(x);
}
for (var x of s) { // 遍历Set
alert(x);
}
for (var x of m) { // 遍历Map
alert(x[0] + '=' + x[1]);
}
var a = ['A', 'B', 'C'];
var s = new Set(['A', 'B', 'C']);
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
for (var x of a) { // 遍历Array
alert(x);
}
for (var x of s) { // 遍历Set
alert(x);
}
for (var x of m) { // 遍历Map
alert(x[0] + '=' + x[1]);
}
var a = ['A', 'B', 'C'];
a.forEach(function(element, index, array){
//element --> 指向当前元素的值
//index --> 指向当前索引
//array --> 指向Array对象本身
alert("element-->"+element);
alert("index-->"+index);
alert("array-->"+array);
});
var a = ['A', 'B', 'C'];
a.forEach(function(element, index, array){
//element --> 指向当前元素的值
//index --> 指向当前索引
//array --> 指向Array对象本身
alert("element-->"+element);
alert("index-->"+index);
alert("array-->"+array);
});
//Array
var a = ['A', 'B', 'C'];
a.forEach(function(element, index, array){
//element --> 指向当前元素的值
//index --> 指向当前索引
//array --> 指向Array对象本身
alert(element); //首次输出A
alert(element); //首次输出0
alert(element);
});
//Array
var a = ['A', 'B', 'C'];
a.forEach(function(element, index, array){
//element --> 指向当前元素的值
//index --> 指向当前索引
//array --> 指向Array对象本身
alert(element); //首次输出A
alert(element); //首次输出0
alert(element);
});
//Map
var b = new Map([['indexA', 'a'],['indexB', 'b'],['indexC', 'c']]);
b.forEach(function(value, key, map){
//value --> 指向当前元素的值
//key --> 指向当前键
//map --> 指向Map对象本身
alert(value); //首次输出a
alert(key); //首次输出indexA
alert(map);
});
//Map
var b = new Map([['indexA', 'a'],['indexB', 'b'],['indexC', 'c']]);
b.forEach(function(value, key, map){
//value --> 指向当前元素的值
//key --> 指向当前键
//map --> 指向Map对象本身
alert(value); //首次输出a
alert(key); //首次输出indexA
alert(map);
});
//Set
var c = new Set(['a', 'b', 'c']);
c.forEach(function(key, key, set){
//key --> 指向当前键
//key --> 指向当前键
//set --> 指向Map对象本身
alert(key); //首次输出a
alert(key); //首次输出a
alert(set);
});
//Set
var c = new Set(['a', 'b', 'c']);
c.forEach(function(key, key, set){
//key --> 指向当前键
//key --> 指向当前键
//set --> 指向Map对象本身
alert(key); //首次输出a
alert(key); //首次输出a
alert(set);
});
01快速入门-04-Map、Set和iterable(ES6)的更多相关文章
- MyBatis 学习总结 01 快速入门
本文测试源码下载地址: http://onl5wa4sd.bkt.clouddn.com/MyBatis0918.rar 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级 ...
- [Android应用开发] 01.快速入门
前言 这一篇,主要是把之前[安卓基础]系列的东西,做一个总结和补充.并举了两个例子:电话拨号器.短信发送器做巩固,在此也参考了黑马训练营的教学大纲. Android项目的目录结构 Activity:应 ...
- AngularJS快速入门指南01:导言
AngularJS使用新的attributes扩展了HTML AngularJS对单页面应用的支持非常好(SPAs) AngularJS非常容易学习 现在就开始学习AngularJS吧! 关于本指南 ...
- 079 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 04 实例化对象
079 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 04 实例化对象 本文知识点:实例化对象 说明:因为时间紧张,本人写博客过程中只是对知 ...
- 004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构
004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构 Java程序的结构 Java程序外层--类 程序外层,如下面的代码,是一个类的定义. c ...
- AngularJS快速入门指南04:指令
AngularJS通过指令将HTML属性进行了扩展. AngularJS指令 AngularJS指令是带有ng-前缀的扩展HTML属性. ng-app指令用来初始化AngularJS applicat ...
- Java程序员快速入门Go语言
这篇文章帮助Java程序员快速入门Go语言. 转载至 开源中国社区. http://www.oschina.net 本文将以一个有代表性的例子为开始,以此让Java程序员对Go语言有个初步认识,随后将 ...
- Hadoop生态圈-Hive快速入门篇之HQL的基础语法
Hadoop生态圈-Hive快速入门篇之HQL的基础语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客的重点是介绍Hive中常见的数据类型,DDL数据定义,DML数据操作 ...
- SpringMvc_快速入门,深入分析
目录 一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 ...
随机推荐
- Jmeter+badboy环境搭建
[JMeter安装] 1. 访问官网 下载jmeter包 http://jmeter.apache.org/ 2. 解压到安装目录 D:\Program Files (x86)\apache-jmet ...
- Spring(二)之配置.md
依赖配置详解 bean的属性及构造器参数既可以引用容器中的其他bean,也可以是内联(inline)bean.在spring的XML配置中使用 直接变量(基本类型.Strings类型等.) <v ...
- python开源项目及示例代码(转)
本页面是俺收集的各种 Python 资源,不定期更新. 下面列出的各种 Python 库/模块/工具,如果名称带超链接,说明是第三方的:否则是 Python 语言内置的. 1 算法 1.1 字符串处理 ...
- Struts2学习笔记(三)——Action详解
Action是用于处理请求操作的,它是由StrutsPrepareAndExceuteFilter分发过来的. 1.Action的创建方式 1) POJO类(PlainOldJavaObjects简单 ...
- Windows8.1 与Ubuntu14.04双系统
机型:联想 Y480 现有操作系统:win8.1 64位 物理内存:8G 磁盘存储:两个硬盘 1. SSD为固态盘 Solid State Drives 110G 现已安装有win8系统 2.H ...
- WeQuant交易策略—NATR
策略名称:NATR策略关键词:规范真实波幅.价格突破. NATR,是对ATR指标进行了标准化.主要应用于了解价格的震荡幅度和节奏,在窄幅整理行情中用于寻找突破时机.本策略在当前价格高于之前价格一定倍数 ...
- Maven详解(六)------ 生命周期
1.什么是 生命周期? Maven 强大的原因是有一个十分完善的生命周期,生命周期可以理解为项目构建步骤的集合,它定义了各个构建环节的执行顺序,有了这个顺序,Maven 就可以自动化的执行构建命令. ...
- XWPFRun属性详解
XWPFRun是XWPFDocument中的一段文本对象(就是一段文字) 创建文档对象 XWPFDocument docxDocument = new XWPFDocument(); 创建段落对象 X ...
- js、JSP、servlet之间的传递小结
@ JS 与 JSP :JSP无法直接获取JS的值,只能通过隐藏表单或者dom节点设置. JSP中设置隐藏表单input,或者设置任意一个隐藏或者不隐藏的节点比如div, 而JS就通过document ...
- 读取Execl表 导入数据库
不知不觉博客园园林都两年多了,我是今年毕业的应届生,最近公司项目需要改动,很多的数据需要导入,很多的实体类需要些.考虑到这些问题自己写了两个winform版的小工具,一个是读取Execl数据导入数据库 ...