Js中去除数组中重复元素的几种方法
生活随笔
收集整理的這篇文章主要介紹了
Js中去除数组中重复元素的几种方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
方法1:
1 Array.prototype.method1=function(){ 2 var arr=[]; 3 for(var i=0;i<this.length;i++){ 4 if(arr.indexOf(this[i]) == -1){ 5 arr.push(this[i]); 6 } 7 } 8 return arr; 9 }方法2:
1 Array.prototype.method2 = function(){ 2 var h{}; //定義一個hash表 3 var arr[]; //定義一個臨時數(shù)組 4 5 for(var i = 0; i < this.length; i++){ //循環(huán)遍歷當(dāng)前數(shù)組 6 //對元素進(jìn)行判斷,看是否已經(jīng)存在表中,如果存在則跳過,否則存入臨時數(shù)組 7 if(!h[this[i]]){ 8 //存入hash表 9 h[this[i]] = true; 10 //把當(dāng)前數(shù)組元素存入到臨時數(shù)組中 11 arr.push(this[i]); 12 } 13 } 14 return arr; 15 }方法3:
1 Array.prototype.method3 = function(){ 2 //直接定義結(jié)果數(shù)組 3 var arr[this[0]]; 4 for(var i = 1; i < this.length; i++){ //從數(shù)組第二項(xiàng)開始循環(huán)遍歷此數(shù)組 5 //對元素進(jìn)行判斷: 6 //如果數(shù)組當(dāng)前元素在此數(shù)組中第一次出現(xiàn)的位置不是i 7 //那么我們可以判斷第i項(xiàng)元素是重復(fù)的,否則直接存入結(jié)果數(shù)組 8 if(this.indexOf(this[i]) == i){ 9 arr.push(this[i]); 10 } 11 } 12 return arr; 13 14 }方法4:
1 Array.prototype.method4 = function(){ 2 //將數(shù)組進(jìn)行排序 3 this.sort(); 4 //定義結(jié)果數(shù)組 5 var arr[this[0]]; 6 for(var i = 1; i < this.length; i++){ //從數(shù)組第二項(xiàng)開始循環(huán)遍歷數(shù)組 7 //判斷相鄰兩個元素是否相等,如果相等說明數(shù)據(jù)重復(fù),否則將元素寫入結(jié)果數(shù)組 8 if(this[i] !== arr[arr.length - 1]){ 9 arr.push(this[i]); 10 } 11 } 12 return arr; 13 14 }?
轉(zhuǎn)載于:https://www.cnblogs.com/missguolf/p/8195015.html
總結(jié)
以上是生活随笔為你收集整理的Js中去除数组中重复元素的几种方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈hashcode
- 下一篇: 3Dmax2016能用什么版本的Coro