JavaScript的应用:数组去重

107 阅读1分钟

常见面试问题:数组的去重

1.第一种方式就是最简单的set去重

(ES6新增)

var arr = [1,2,2,4,3,4,1,3,2,7,5,6,1]
var newArr = new Set(arr)

2.双重for循环进行去重

for(var i = 0;i<arr.length;i++){
	for(var j = i+1;i<arr.length;j++){
		if(arr[i]  === arr[j]){
			arr.splice(j,1);
			j--;
                 }
        }
}

3.用indexOf进行去重

判断新数组中是否有某一项存在

function fn(arr){
   let newArr = []
   arr.forEach((val)=>{
         if(newArr.indexOf(val) == -1){
              newArr.push(val)
          }
    })    
   return newArr  
}    

function fn(arr) {
  return arr.filter((item, index, arr) => arr.indexOf(item) === index)
}

去重方法不只以上几种,但这几种比较常见,也都各有益弊。