扩展运算符(...) 和 set对象的使用

扩展运算符(…)

	扩展运算符 (...)  用于取出参数对象中的所有可遍历属性
 [...'hello']  => ['h','e','l','l','o']
和解构赋值一起使用 
<script>
			let arr = [1, 2, 3];
			let arrNew = [...arr, 4, 5]
			console.log(arrNew)
</script>

[1, 2, 3, 4, 5]

注意: 扩展运算符不能放中间或者后面 以下是错误的写法:
arrNew = [4, 5, ...arr]

set 对象

set 是一个对象   所以 使用 new关键字 创建 set 对象
特点 :  set对象存储的值总是唯一的
set 对象可以使用 new关键字创建

	<!--  数组的去重 , set对象的使用  set对象存储的值总是唯一的   -->
	
	<!-- 字符串的去重 [...new Set('ababbc')].join(''); // "abc" 字符串去重 -->
	
	<!-- set 对象  使用new关键字创建的set对象的存储值总是唯一的 -->

	<!-- 然后 对象转化为数组的最简便的方式 :  [...obj] -->

	<!-- 扩展运算符(…)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中 -->

	<!-- 扩展运算符 还可以和结构赋值联系在一起  const [first, ...rest] = [1, 2, 3, 4, 5]; -->

	<!-- 扩展运算符还可以将字符串转为真正的数组  [...'hello'] -->
		<script>
			let arr = [1, "1", 2, 1, 1, 3];
			let arrSet = new Set(arr)
			console.log(arrSet)
		</script>
因为 set 是一个对象 所以 new Set()创建的是一个存储值总唯一的对象 
打印台显示的内容 :   Set(4) {1, "1", 2, 3}

所以数组的去重 还要进行转化  
[...new Set(arr)]

		<script>
			let arr = [1, "1", 2, 1, 1, 3];
			console.log([...new Set(arr)])
		</script>
打印的结果为 :  (4) [1, "1", 2, 3]

版权声明:本文为qq_40144176原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。