ES6--Set

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


1.Set

        Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用

Set 与数组类似, Set 集合中的元素不重复。

        查找元素: 在数组中使用 indexOf() 或 includes() 检查元素是否存在比较慢。
        删除元素: 在 Set 中,可以通过值删除元素。即在数组中,基于索引的splice() 功能。
        插入元素: 在 Set 中添加元素比在数组中通过 push()、 unshift() 或其他同类操作要快。
        去重: Set 对象仅能存储不同的值。

(1)set-类型转换(数组去重的方法之一)

            var arr=[11,22,33,11]
			var s1=new Set(arr)        //遍历的数组 然后把数组的元素们调用s1.add添加进集合中
			var arr2=Array.from(s1)    //取出了数据容器中的所有数据 然后存入新数组返回值
			console.log(arr2)

运行结果:

 (2)forEach( )遍历方法

            var arr=[11,22,33,11]
			var s1=new Set(arr)      

			s1.add(100)
			s1.add(100)
			s1.add(200)
			s1.add("hello")
			s1.add([100])
			s1.add([100])
			console.log(s1)
			s1.forEach(function(el){
				console.log(el)
			})

运行结果:

 

 (3)...()

           var arr=[10,20,30,10,{}]
			var arr2=[...arr]//把arr的元素全部取出 然后存入新数组arr2中
			console.log(arr,arr2,arr==arr2,arr[4]==arr2[4])

运行结果:

 (4)并集

        	var arr = [10, 20, 30, 10,{}]
			var arr2 = [100, 200,30,10]
			var s1 = new Set([...arr,...arr2])
			console.log(s1)

运行结果:

 

 (5)交集

            var arr = [10, 20, 30, 10,{}]
			var arr2 = [100, 200,30,10]
			var s2 = new Set(arr.filter(function(el) {
				if (arr2.includes(el)) {
					return el
				}
			}))
			console.log(s2)

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值