js中一个数组里包含了多个数组,如何对该数组去重里面的小数组。
话不多说,直接开始,我这是一个笨方法,如果小伙伴有更好的方法,欢迎告知。
var arr = [[1, 2, 3], [2, 3], [4, 5], [1, 3], [1, 2, 3], [2, 3]];//好比有这么一个数组,里面是一个个小数组,很明显前两个小数组和最后面两个数组是一样的,需要对其去重。
var newarr = [];//先建一个空数组
arr.forEach(item => {
newarr.push(item.toString())//然后用空数组将每一个小数组转为字符串push进去,
})
(6) ["1,2,3", "2,3", "4,5", "1,3", "1,2,3", "2,3"]//push完后就成了一个数组,里面是一个个字符串了。
0: "1,2,3"
1: "2,3"
2: "4,5"
3: "1,3"
4: "1,2,3"
5: "2,3"
var arr2 = [...new Set(newarr)]//然后对现在这个数组进行去重,这个方法就很多了,这里比较懒用了es6的最简单的方法,可以百度一下,不兼容ie6的话可以用其他方法。
var arr3 = []
arr2.forEach(item => {
arr3.push(item.split(','))//再用一个空数组,将刚才那个数组里的字符串再次转为一个个小数组,push进去。
})
console.log(arr3);//完成,就达到了想要的结果。
(4) [Array(3), Array(2), Array(2), Array(2)]
0: (3) ["1", "2", "3"]
1: (2) ["2", "3"]
2: (2) ["4", "5"]
3: (2) ["1", "3"]
这个方法我都感觉有点笨,菜鸟一枚,有大佬有更好的方法,一定要告知,拜托。。。