<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>canvas测试</title>
</head>
<body>
<canvas width="400" height="600" id="canvas-test">
</canvas>
<script>
// ES6的Map和Set
// javaScript的默认对象表示方式{},就是键必须是字符串。但实际上Number或者其他数据类型作为键也是非常合理的。
// 一 Map
// 1 判断浏览器是否支持Map和Set!
'use strict';
var m = new Map();
var s = new Set();
console.log('你的浏览器支持Map和Set!');
// 2 Map是一组键值对的结构,具有极快的查找速度。
// 给定一个名字,要查找对应的成绩。用Map实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢。
var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
m.get('Michael'); // 95
// 3 Map的初始化和 获取,增加,删除的特性
// 初始化Map需要一个二维数组,或者直接初始化一个空Map
var map=new Map([['Bob',85]]);// 空的Map
map.set('limy',88);// 添加新的 key-value
map.has('Bob');// 是否存在Bob:true
map.set('Michael',89);
map.delete('Michael');// 删除 key,'Michael'
map.get('Michael');
//由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉 // 二 Set
// Set和Map类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在Set中,没有重复的key。
var s1=new Set();
var s2=new Set([1,2,3]) // 重复元素在 Set 中自动被过滤 var s=new Set([1,2,3,3,'3']);
// add(key) 可以添加元素到Set中,可以重复添加相同的key,但是不会有效果
s.add(4);
s.add(4);
// delete(key) 方法可以删除元素
s.delete(2);
</script>
</body>
</html>

ES6的Map和Set的了解和练习的更多相关文章

  1. [ES6] 18. Map

    ES6 provides Map, it is a set of k-v pair. Key can be number, string, object, function and even unde ...

  2. ES6 Set & Map

    ES6 Set & Map OK ES6 Map https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Globa ...

  3. ES6中map和set用法

    ES6中map和set用法 --转载自廖雪峰的官方网站 一.map Map是一组键值对的结构,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Arra ...

  4. es6的map()方法解释

    es6的map()方法解释   map方法的作用不难理解,即“映射”,也就是原数组被“映射”成对应新数组.下面这个例子是数值项求平方: var data = [1, 2, 3, 4]; var arr ...

  5. es6 关于map和for of的区别有哪些?

    1.es6  关于map和for of的区别有哪些? ——主要想了解一下性能方面的

  6. es6的Map结构

    es6的Map结构主要解决Object的键名只能是单一属性的问题.它可以是字符串,对象,数组,等等 其中有个问题要注意一下,就是 var map = new Map(); map.set(['a'], ...

  7. ES6中Map数据结构学习笔记

    很多东西就是要细细的品读然后做点读书笔记,心理才会踏实- Javascript对象本质上就是键值对的集合(Hash结构),但是键只能是字符串,这有一定的限制. 1234 var d = {}var e ...

  8. ES6新增Map、Set和iterable

    Map需要一个二维数组 var test_map = new Map(["mians",99],["regink",88]) test_map.get(&quo ...

  9. ES6中Map与其他数据结构的互相转换

    最近在学习ES6的基础知识,整理了一下Map与其他数据结构相互转换的写法. Map转为数组的方法 let myMap = new Map([[true, 7], [{foo: 3}, ['abc']] ...

  10. ES6中map数据结构学习

    在项目中遇到一个很恶心的需求,然后发现ES6中的map可以解决,所以简单学习了一下map. Javascript的Object本身就是键值对的数据结构,但实际上属性和值构成的是“字符串-值”对,属性只 ...

随机推荐

  1. (二)用go实现二叉查找树

    本篇,我们用go简单的实现二叉查找树. 1.节点定义 type BSNode struct{ data int left, right, parent *BSNode } 2.前序遍历 func (p ...

  2. nvm node 版本管理

    nvm安装与使用 1.nvm是什么 nvm全名node.js version management,顾名思义是一个nodejs的版本管理工具.通过它可以安装和切换不同版本的nodejs.下面列出下载. ...

  3. MyBatis_01(前置知识)

    1-学习思路(课程主要内容): 2-MyBatis特性 3- MyBatis下载 但是我们在使用MyBatis的时候,都是直接 "Maven导入MyBatis的jar包" (所以, ...

  4. VSCode 抽取vue的代码片段

    在vscode中文件-->首选项-->用户片段,输入名字按去确定,输入代码片段 { "vue htm": { "scope": "html ...

  5. eval对函数this指向的影响

    js eval() 对 this 指向的影响 const fn = () => { console.log('fn this is:', this) } function evalWrapper ...

  6. 【文献阅读】Wigley船在波浪中的运动分析

    (1)相关内容 船舶在波浪上运动所受到的外力,主要是流体作用力.这些力的大小和变化与船舶以及流体相对运动有关.一般采用流体动力学方法计算. 船舶在波浪中的运动,根据波浪的形式,分为规则波与不规则波两个 ...

  7. go interface nil 比较

    package main import "fmt" type MyselfError struct{} func (m *MyselfError) Error() string { ...

  8. TPM 2.0 - could not load "libtss2-tcti-tabrmd.so.0"

    报错: TPM 2.0 - could not load "libtss2-tcti-tabrmd.so.0" 解决:sudo apt install libtss2-tcti-t ...

  9. Centos7 更换yum软件源

    https://blog.csdn.net/zhinian1204/article/details/123975403

  10. under display camera

    https://yzhouas.github.io/projects/UDC/udc.html https://zhuanlan.zhihu.com/p/389863230 MIPI 2022 Cha ...