ES6之set-map数据结构的实例详解
一、set数据结构 (使用 new来创建一个set集合 通过add方法添加元素 通过size来获取set集合的长度)
{ let list = new Set(); list.add(5); list.add(7); console.log('size',list.size); }
还有另外一种初始化的方式(通过直接把数组传递进去)
{ let arr = [1,2,3,4,5]; let list = new Set(arr); console.log('size',list.size); }
set里面的元素不可以重复(可以通过set的这个特性进行数组去重,注意:转化过程中不会进行 数据类型转化)
{ let list = new Set(); list.add(1); list.add(2); list.add(1);//不会报错 只是不会生效 console.log('list',list); let arr=[1,2,3,1,'2']; let list2=new Set(arr); console.log('unique',list2); }
set的一些方法(add ,delete,clear,has)
{ let arr=['add','delete','clear','has']; let list=new Set(arr); console.log('has',list.has('add'));//是否包含 console.log('delete',list.delete('add'),list);//清空 list.clear(); console.log('list',list); }
set的遍历(keys和values返回的都是set里面的值)
{ let arr=['add','delete','clear','has']; let list=new Set(arr); for(let key of list.keys()){ console.log('keys',key); } for(let value of list.values()){ console.log('value',value); } for(let [key,value] of list.entries()){ console.log('entries',key,value); } list.forEach(function(item){console.log(item);}) }
WeakSet(里面的元素只能是对象,并且不会检测所添加的对象是否在别处引用,没有size clear 不支持遍历)
{ let weakList=new WeakSet(); let arg={}; weakList.add(arg); // weakList.add(2); console.log('weakList',weakList); }
二、Map数据结构(Map是通过key/value进行设置的,所以设置用set方法,获取使用get方法)
{ let map = new Map(); let arr=['123']; map.set(arr,456); console.log('map',map,map.get(arr)); }
Map的另外一种定义方式(同时size delete clear方法一样)
{ let map = new Map([['a',123],['b',456]]); console.log('map args',map); console.log('size',map.size); console.log('delete',map.delete('a'),map); console.log('clear',map.clear(),map); }
weakMap数据结构(和setMap的特性一致)
{ let weakmap=new WeakMap(); let o={}; weakmap.set(o,123); console.log(weakmap.get(o)); }
以上是ES6之set-map数据结构的实例详解的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

小米15系列预计将于10月份正式发布,其全系列代号已在外媒MiCode代码库中曝光。其中,旗舰级小米15Ultra代号为"Xuanyuan"(意为"轩辕"),此名源自中国神话中的黄帝,象征着尊贵。小米15的代号为"Dada",而小米15Pro则以"Haotian"(意为"昊天")为名。小米15SPro内部代号为"dijun",暗指《山海经》创世神帝俊。小米15Ultra系列涵盖

自去年华为Mate60系列开售以来,我个人就一直将Mate60Pro作为主力机使用。在将近一年的时间里,华为Mate60Pro经过多次OTA升级,综合体验有了显着提升,给人一种常用常新的感觉。比如近期,华为Mate60系列就再度迎来了影像功能的重磅升级。首先是新增AI消除功能,可以智能消除路人、杂物并对空白部分进行自动补充;其次是主摄色准、长焦清晰度均有明显升级。考虑到现在是开学季,华为Mate60系列还推出了秋日礼遇活动:购机可享至高800元优惠,入手价低至4999元。常用常新的产品力加上超值

Java中比较复杂数据结构时,使用Comparator提供灵活的比较机制。具体步骤包括:定义比较器类,重写compare方法定义比较逻辑。创建比较器实例。使用Collections.sort方法,传入集合和比较器实例。

在word中编辑文字内容时,有时会需要输入公式符号。有的小伙们不知道在word根号输入的方法,小面就让小编跟小伙伴们一起分享下word根号输入的方法教程。希望对小伙伴们有所帮助。首先,打开电脑上的Word软件,然后打开要编辑的文件,并将光标移动到需要插入根号的位置,参考下方的图片示例。2.选择【插入】,再选择符号里的【公式】。如下方的图片红色圈中部分内容所示:3.接着选择下方的【插入新公式】。如下方的图片红色圈中部分内容所示:4.选择【根式】,再选择合适的根号。如下方的图片红色圈中部分内容所示:

数据结构和算法是Java开发的基础,本文深入探讨Java中的关键数据结构(如数组、链表、树等)和算法(如排序、搜索、图算法等)。这些结构通过实战案例进行说明,包括使用数组存储分数、使用链表管理购物清单、使用栈实现递归、使用队列同步线程以及使用树和哈希表进行快速搜索和身份验证等。理解这些概念可以编写高效且可维护的Java代码。

标题:从零开始学习Go语言中的main函数Go语言作为一种简洁、高效的编程语言,备受开发者青睐。在Go语言中,main函数是一个入口函数,每个Go程序都必须包含main函数作为程序的入口点。本文将从零开始介绍如何学习Go语言中的main函数,并提供具体的代码示例。一、首先,我们需要安装Go语言的开发环境。可以前往官方网站(https://golang.org

AVL树是一种平衡二叉搜索树,确保快速高效的数据操作。为了实现平衡,它执行左旋和右旋操作,调整违反平衡的子树。AVL树利用高度平衡,确保树的高度相对于节点数始终较小,从而实现对数时间复杂度(O(logn))的查找操作,即使在大型数据集上也能保持数据结构的效率。

利用哈希表可优化PHP数组交集和并集计算,将时间复杂度从O(n*m)降低到O(n+m),具体步骤如下:使用哈希表将第一个数组的元素映射到布尔值,以快速查找第二个数组中元素是否存在,提高交集计算效率。使用哈希表将第一个数组的元素标记为存在,然后逐个添加第二个数组的元素,忽略已存在的元素,提高并集计算效率。
