1、新数组取第一个值,for循环旧数组和新数组的值对比,不同则push进新数组
    2、.sort()数组排序,for循环i从1开始,脚标 i 和 i-1对比,不同push
    3、声明一个对象,用数组的值做key,对象的key有唯一性,if !obj[arr[i]]则push
    4、for循环,新数组indexOf(arr[i]) === -1 或 !includes(arr[i]) 或 lastIndexOf
    5、filter或forEach代替for循环,处理还是使用indexOf或includes
    6、两个for嵌套循环同一个arr,i=0,j=i+1,arr[i]===arr[j]时splice(j,1)
    7、return Array.from(new Set(arr)); 这个很强 Set也有唯一性,Array.form把Set转成数组,但遇到{}不灵,简写[…new Set(arr)]
    8、排序,递归,从后往前比,相同用splice删掉
    9、两个for,外层i 内层j=i+1,如果相同j = ++i,跳出内层循环,在第一层push。优化遍历数组。
    10、new Map。Map结构类似Object,key有唯一性,可以用map的has判断是否重复。

    合并去重
    1、concat+去重
    2、Array.prototype.push.apply(); 很强

    https://blog.csdn.net/weixin_42412046/article/details/81459294

    https://www.cnblogs.com/zsp-1064239893/p/11196501.html
    https://www.jb51.net/article/118657.htm

    https://segmentfault.com/a/1190000016418021