/** 双重循环去重 */removeDuplication(arrayA, arrayB){let arrNew =[]if(arrayA.length && arrayB.length){
arrNew = arrayA.concat(arrayB)for(let x =0, len = arrNew.length; x < len; x++){for(let y = x +1; y < len; y++){if(arrNew[x]=== arrNew[y]){
arrNew.splice(y,1)// splice 会改变数组长度,所以要将数组长度 len 和下标 j 减一
len--
y--}}}}return arrNew
}
方法二:Array.sort()
/** Array.sort()去重 */removeDuplication(arrayA, arrayB){let arrNew =[]if(arrayA.length && arrayB.length){
arrNew = arrayA.concat(arrayB)// 排序
arrNew.sort()// 设置比较值let result =[arrNew[0]]for(let i =1, len = arrNew.length; i < len; i++){if(arrNew[i]!== arrNew[i -1]){
result.push(arrNew[i])}}return result
}}
方法三:for…of + includes()
/** for...of + includes()去重 */removeDuplication(arrayA, arrayB){let arrNew = arrayA.concat(arrayB)let result =[]for(let i of arrNew){!result.includes(i)&& result.push(i)}return result
}