前言
set是集合,set集合中的值具有唯一性,利用set可以快速去除一维数组中的重复值,但对于二维数组不行
一、new Set()对一维数组去重
以上示例说明一维数组set可以成功去除重复值。
以上示例说明set对于二维数组无法去除重复值
二、遍历二维数组元素去重
以上代码从二维数组的最后一个数组开始遍历,当循环到第i个数组时,再循环i数组之前的数组,看是否有与i一样的数组如果有,就删掉i数组
以上代码比较复杂,可能还有改进空间,但远没有object简单,但对于[2,3]["2","3"]可以区分为不同值,下面是示例
三、object对二维数组去重
obj[键]=值,如果对象中没有这个键则添加,有则修改,利用对象键的这个特点,把数组的值当作对象的键和值,放入对象里,没有的属性会添加,存在的属性会修改,就可以去除重复值,第一次添加"1,2" :[1,2],第二次添加"2,1":[2.1],第三次添加"1,2":[1,2]因为已经存在"1,2"这个键,所以添加变成了修改"1,2"键对应的值,由[1,2]改成[1,2],第四次会添加"3,2":[3,2]
可以创建自定义函数,以便以后使用
object也存在一些缺点,以上示例说明对于[1,2] ["1","2"]会被认为是相同值