方法一:
1 //数组去重的方法 2 Array.prototype.unique=function(){
3 //集中声明变量
4 var
5 oldArr=this,
6 newArr=[oldArr[0]],
7 len=oldArr.length,
8 i=1;
9 //过滤空数组
10 if(!len) return this;
11 //过滤重复元素
12 for(;i<len;i++){
13 newArr.indexOf(oldArr[i])<0 ? newArr.push(_this) : '';
14 }
15 //返回过滤后的数组没有影响原数组
16 return newArr;
17 }
18 var arr=['a','a','b','a','c','d'];
19 console.log(arr.unique());
20 //["a", "b", "c", "d", unique: function]
方法二:
1 function oSort(arr) 2 {
3 var result ={};
4 var newArr=[];
5 for(var i=0;i
6 {
7 if(!result[arr[i]])
8 {
9 newArr.push(arr[i])
10 result[arr[i]]=1
11 }
12 }
13 return newArr
14 }
方法三:
1 var student = ['qiang','ming','tao','li','liang','you','qiang','tao']; 2 function unique(arr){
3 // 遍历arr,把元素分别放入tmp数组(不存在才放)
4 var tmp = new Array();
5 for(var i in arr){
6 //该元素在tmp内部不存在才允许追加
7 if(tmp.indexOf(arr[i])==-1){
8 }
9 }
10 return tmp;
11 }
方法四:
1 <script type="text/javascript"> 2 var student = ['qiang','ming','tao','li','liang','you','qiang','tao'];
3 function unique(arr){
4 var tmp = new Array();
5 for(var m in arr){
6 tmp[arr[m]]=1;
7 }
8 //再把键和值的位置再次调换
9 var tmparr = new Array();
10 for(var n in tmp){
11 tmparr.push(n);
12 }
13 return tmparr;
14 }
15 </script>
方法五:
1 /** 2 * 去除数组重复元素
3 */
4 function uniqueArray(data){
5 data = data || [];
6 var a = {};
7 for (var i=0; i<data.length; i++) {
8 var v = data[i];
9 if (typeof(a[v]) == 'undefined'){
10 a[v] = 1;
11 }
12 };
13 data.length=0;
14 for (var i in a){
15 data[data.length] = i;
16 }
17 return data;
18 }