functiondeDeplicated(arr){return arr.filter((item, index)=>{
console.log(index, arr.indexOf(item), index === arr.indexOf(item))return index === arr.indexOf(item);})}
双重for循环进行去重
functiondistinctDoubleFor(arr){// 第一层遍历for(let i =0, len = arr.length; i < len; i++){// 第二层遍历去查找第一层遍历的数是否在第二层遍历中找到相同的,相同则数组元素重复,删除for(let j = i +1; j < len; j++){if(arr[i]=== arr[j]){
arr.splice(j,1)
len--
j--}}}return arr
}
使用sort排序之后,判断左右是否相等,如果相等则说明为重复项
functiondistinctSort(arr){// 从小到大排序
arr.sort((a, b)=> a - b)let arrRes =[arr[0]]for(let i =1,len = arr.length; i < len; i++){
arr[i]!= arr[i-1]&& arrRes.push(arr[i])}return arrRes
}
使用for of + includes()
functiondistinctInclude(arr){let result =[]for(let i of arr){// 判断当包含此项,则不会再进行push,不包含此项为true,则会执行 && 符后面的语句!result.includes(i)&& result.push(i)}return result
}