当前位置: 首页 > Web前端 > JavaScript

关于Set数据结构

时间:2023-03-26 22:39:36 JavaScript

基于阮一峰博客的学习笔记。//newSet()是参数的数据类型不会变,比如5和'5'//newsetdataconstdata=newSet()letarr=[1,2,3,4,5,54,3,2]arr.forEach(e=>{data.add(e)//使用add方法向data中添加数据})console.log('arr',data);//output1,2,3,4,5,54已经过滤掉重复数据//set结构在new创建的时候可以直接接收一个数组constsetArr=newSet([1,1,2,2,3,3,4,5,6])console.log('setArr',setArr);//Output1,2,3,4,5,6已经完成去重工作console.log('size',setArr.size);//Output6使用.size方法获取set中的数据个数setArr.delete(2)console.log('del',setArr)//Output1,3,4,5,6其中2有被删除,使用delete删除结构体console.log('has',setArr.has(6))中设置的Data;//输出true表示集合数据有6个成员setArr.clear()console.log('clear',setArr)//输出一个空的集合数据大小为0,clear用于清除集合数据的成员//去除字符串中的重复值letdoubleStr=newSet('aaaabbbccc')console.log('str',[...doubleStr].join(''));//注意:一定要用...展开,如果set数据没有join方法,会报错//使用Array.from()对数组进行去重constfromArr=[1,2,3,4,1,2,3,4]康索le.log('Extendeddeduplication',[...newSet(fromArr)])//输出[1,2,3,4]console.log('Array.fromdeduplication',Array.from(newSet(fromArr)))//Output[1,2,3,4]/***关于集合数据的遍历*Set.prototype.keys():返回键名遍历器*Set.prototype.values():返回键值的遍历器*Set.prototype.entries():返回键值对的遍历器*Set.prototype.forEach():使用回调函数遍历每个成员*设置数据自带上面的遍历方法*/lettestSet=newSet([1,2,3,4,5,5,4,2])testSet.forEach(item=>{console.log('forEach',item);})