陣列去重的方法總結

2022-08-20 16:30:09 字數 1755 閱讀 5678

方法一

// var arr = [1, 'a', 'a', 'b', 'd', 'e', 1, 0];

// array.prototype.unique1 = function () //i=4 ......

// }

// if (!repeat)

// }

// return res;

// }

// var arr = [1, 'a', 'a', 'b', 'd', 'e', 1, 0];

// console.log(arr.unique1());

方法二 //如果物件屬性不存在,不會報錯,返回undefined

//直接設定乙個不存在的屬性,就直接相當於給物件新增了乙個屬性(動態屬性)

// array.prototype.unique3 = function () ;

// for (var i = 0; i < this.length; i++)

// res.push(this[i]); //i= 1 this[i]=a json[a]=undefined res = [1,'a'] json=

// json[this[i]] = 1; //i =2 this[i]= a json[a]=1 res = [1,'a'] json=

//i=3 this[i]= b json[b]=undefined res= [1,'a','b'] json=

// }

// }

// return res;

// }

// var arr = [1, 'a', 'a', 'b', 'd', 'e', 1, 0];

// console.log(arr.unique3());

方法三 // 簡單粗暴法 (set):

/* let arr = [1, 1, 3, 3, 2, 2, 5, 5, 6, 6, 7, 7];

let nowarr =

array.prototype.unique1 = function ()

let arr1 = arr.unique1();

console.log(arr);

console.log(arr1); */

方法四 /* let arr = [1, 1, 3, 3, 2, 2, 5, 5, 6, 6, 7, 7];

let nowarr =

array.prototype.unique2 = function () // 返回值 !-1(為該值在陣列中的下標) 說明臨時陣列中已存在該值 就忽略

}return newarr;

}let arr1 = arr.unique2();

console.log(arr);

console.log(arr1); */

方法五 // 優化遍歷陣列法

// var arr = [1, 3, 4, 5, 3, 4, 8, 9, 8, 4];

// for (var i = 0; i < arr.length; i++)

// }

// }

// console.log(arr) //[1,3,4,5,8,9]

陣列去重的方法總結

實現思路 新建乙個陣列,遍歷要去重的陣列,當值不在新陣列的時候 indexof 為 1 就加入該新陣列中 function unique arr return newarr var arr 1,2,2,3,4,4,5,1,3 var newarr unique arr console.log new...

陣列的去重方法總結(包括物件陣列的去重方法)

陣列的去除在真實專案中是非常的常用,那麼在這裡總結一下物件陣列及基本型別陣列的去重方法,主要利用了物件的鍵值是唯一的乙個特性。1 去重方法一利用陣列的索引對應的值。let arr 2,3,3,3,2,4,2 console.log arr is a instance of arr typeof ar...

js陣列去重方法總結

暴力去重,利用迴圈每次判斷當前元素是否在陣列中別的地方出現過,此處不展開介紹 利用 es6 的 set 是不重複集合的特性 function reducerepeatbyset arr 利用object的key不能重複的特性 function reducerepeatbyobject arr let...