关于javascript:js-数组去重的方式

最近被屡次问到数组去重的形式,也百度了一下网络上的一些写法,综合了一下,次要介绍一下三种形式。

//办法1:失常的先排序,而后先后比照

let a = [1,2,3,4,4,5,6];
function fun1(arr){
  let result = [];
  arr.sort();
  for(let i = 0;i<arr.length;i++){
    if(arr[i] != arr[i+1]){
      result.push(arr[i])
    }

  }
  console.log(result)
  return result;
}
fun1(a);

//办法2:应用对象去重


function fun2(arr){
  let result = [];
  let obj = {};

  for(let i = 0;i<arr.length;i++){
    
    if(!obj[arr[i]]){
      result.push(arr[i])
    }
    obj[arr[i]] = true;
  }
  console.log('fn2',result)
  return result;
}
fun2(a);

//通过es6 去重

let array = Array.from(new Set(a)); 
/*  写法等同 */ 
let array = [...new Set(a)]  
console.log(array);

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理