方法一
// 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...