js入门(ES6)[三]---认识Symbol、Map、 Set

举报
代码哈士奇 发表于 2021/03/26 00:56:15 2021/03/26
【摘要】 认识Symbol、Map、 Set、Proxy Symbol用法方法Symbol.for()Symbol.keyFor() 使用场景 Map用法添加/删除迭代合并Map Set用法添加/删除 由于马上要考研了所以更新慢且有点水 Symbol 表示独一无二的值 用法 let test = Symbol(“test”); 控制台...

由于马上要考研了所以更新慢且有点水

Symbol

表示独一无二的值

用法

let test = Symbol(“test”);

控制台打印结果为
在这里插入图片描述

方法

Symbol.for()

输入一个字符串
在全局搜索被登记的 Symbol是否存在,如果不存在就登记输入的字符串。
在这里插入图片描述
在这里插入图片描述

Symbol.keyFor()

输入一个字符串
返回一个已登记的名字为该字符串的Symbol类型的值 ,可以检测该Symbol 值是否已被登
如果没有

在这里插入图片描述

在这里插入图片描述

如果有
在这里插入图片描述
在这里插入图片描述

使用场景

定义唯一常量或者作为唯一属性名或者私有属性
比如出现{a:1,a:2}

const CAR_TYPE = Symbol(“oooo”);

Map

保存键值对
二维数组,查找速度快

用法

let myMap = new Map();

value可以为字符串,对象,函数,NAN,整型等(任何值或对象)

添加/删除

添加
myMap.set(key, value);
删除
myMap.delete(key);

迭代

for of

for (var [key, value] of myMap) {
 xxxxx
}
只遍历key
for (var key of myMap.keys()) {
 xxxxx
}
只遍历value
for (var key of myMap.values()) {
 xxxxx
}

forEach()
myMap.forEach(function(value, key) {
  console.log(key + " = " + value);
})
或者箭头函数
myMap.forEach((value, key) =>{
  console.log(key + " = " + value);
})


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

合并Map

var first = new Map([[1, 'one'], [2, 'two'], [3, 'three'],]);
var second = new Map([[1, 'one1'], [2, 'one2']]);
合并他俩
var third = new Map([...first, ...second]);
或者
var third = new Map(first,second]);

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Set

存储任何类型的值或者对象

用法

let mySet = new Set();

添加/删除

添加

mySet.add(value);

value具有唯一性 
mySet.add(2);
mySet.add(2);


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

删除
mySet.delete(2);

删除或者添加可以处理数据

var a = [1, 2, 3];
var data = new Set([...a].filter(x => x%2==0));
console.log(data)

  
 
  • 1
  • 2
  • 3

就是在设置值的时候 对a添加一个过滤器,过滤元素余数不为0的数值
在这里插入图片描述





后续会推出

每个平台的详细搭建过程

前端:js入门 vue入门 vue开发小程序 等
后端: java入门 springboot入门等
服务器:mysql入门 服务器简单指令 云服务器运行项目
python:推荐不温卜火 一定要看哦
一些插件的使用等

大学之道亦在自身,努力学习,热血青春
如果对编程感兴趣可以加入我们的qq群一起交流:974178910
在这里插入图片描述

有问题可以下方留言,看到了会回复哦

文章来源: blog.csdn.net,作者:代码哈士奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_42027681/article/details/111066431

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。