总结一下JS中用到的数组去重的方法
方法一:
该方法利用对象的属性值不能相同:
function arrDelLikeElement (array) { const result = []; const obj = {}; for(let i in array){ if(!obj[array[i]]){ result.push(array[i]); obj[array[i]] = i; } } return result; } arr = arrDelLikeElement(arr);
方法二:
该方法使用ES6中的映射方法:
function arrayDelLikeElement(array) { //将传入的数组参数作为javascript中的创建一个Set(集合)对象的方法中的参数 var arrSet = new Set(array); //定义一个空数组用来接收集合循环遍历的值 var arrEmpty = []; for (const value of arrSet) { arrEmpty.push(value); } array=arrEmpty; return array } arrLike = arrayDelLikeElement(arr);
方法三:
该方法使用递归调用
var arr=[1,6,1,2,2,1,3,1,3,4,5,6]; // 第一步:将数组进行排序 arr = arr.sort(function(a,b){ return a-b }); // 第二步编写递归函数 function mul (arr , i) { if(i>=1){ if(arr[i] === arr[i-1]){ arr.splice(i,1); } mul(arr,(i-1)); } return arr; } mul(arr , arr.length); console.log(arr)
以上方法时常用的方法,后续持续更新新的方法,如果您有更好的方法,可以留言评论,咱们互相讨论!!!