<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> <script> var arr = [1,2,3,3,1,2,3,3,3,3,3,3]; Array.prototype.unique = function (){ var key = {}; /*利用json鍵值惟一的原理實現去重*/ var narr = []; /*存放新的不重複的數組*/ var len = this.length; /*記錄重複數組的長度,提高性能*/ for( var i=0; i<len; i++ ){ var t = this[i]; /* t表明數組的第 i 個數據 */ if( key[t] || t == undefined )continue; /* json的鍵值不重複,惟一 假如 key[1]存在的話,也就說明,1已經存在不重複的數組中了。 若是key裏面存在的話跳出本次循環 */ key[t] = t; /* 給key賦值,賦值後,下次if判斷的時候就會跳過,就不會再賦值,這就實現了去重。 只有key裏面不存在的時候纔會添加到新的數組中。 */ narr.push(t); } return narr; } console.log(arr.unique()); </script> </head> <body> </body> </html>