js去重的幾種方法


let arr =[1,1,2,3];

(按執行時間排序)

1. newArr = new Set(arr);

2.newArr = Array.from(new Set(arr));

3.var newArr = [];

  for (var i = 0; i < arr.length; i++) {
     if (!map.has(arr[i])) { //查找是否含有key
         map.set(arr[i], true) //添加key和value
         console.log(map)
         newArr.push(arr[i]); 
    }     
 }   
4.    var  arr2 = []
for (j = 0; j< arr.length; j++) {
  if(!newArr.includes(arr[j])){
   newArr.push(arr[j])
  }
}
5.雙層循環去重;
6.利用indexOf
for (j = 0; j< arr.length; j++) {
  if(newArr.indexOf(arr[j])==-1){
   newArr.push(arr[j])
  }
}
7. newArr=arr.filter((item,index)=>{
    return arr.indexOf(item)===index  //數組包含item的值則返回對應的下標
})

空間復雜度最低:
var removeDuplicates = function(nums) {
    let i = 0;
    while(i<nums.length-1){
        if(nums[i] === nums[i+1]){
            nums.splice(i,1);
        }else{
            i++
        }
    }
};


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM