js幾種常見排序的實現,記錄下js幾種常見的陣列排序和去重的方法

2021-03-03 20:27:45 字數 1209 閱讀 4928

1樓:

學過c嗎?學過別的語言嗎?別的語言有什麼排序演算法js就有什麼!只是語言不一樣而已~並不代表js就不能實現~

記錄下js幾種常見的陣列排序和去重的方法

2樓:司馬刀劍

js 陣列去重

1注:應該也可以適用於 object陣列,但是本人沒有進行驗證,貼出來僅供你參考

第一種是比較常規的方法思路:1.構建一個新的陣列存放結果2.

for迴圈中每次從原陣列中取出一個元素,用這個元素迴圈與結果陣列對比3.若結果陣列中沒有該元素,則存到結果陣列中**如下:

array.prototype.unique1 = function() } if(!

repeat) } return res;}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]alert(arr.unique1());

第二種方法比上面的方法效率要高思路:1.先將原陣列進行排序2.

檢查原陣列中的第i個元素 與 結果陣列中的最後一個元素是否相同,因為已經排序,所以重複元素會在相鄰位置3.如果不相同,則將該元素存入結果陣列中**如下:

array.prototype.unique2 = function() } return res;}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]alert(arr.

unique2());

二種方法也會有一定的侷限性,因為在去重前進行了排序,所以最後返回的去重結果也是排序後的。如果要求不改變陣列的順序去重,那這種方法便不可取了。第三種方法(推薦使用)思路:

1.建立一個新的陣列存放結果2.建立一個空物件3.

for迴圈時,每次取出一個元素與物件進行對比,如果這個元素不重複,則把它存放到結果陣列中,同時把這個元素的內容作為物件的一個屬性,並賦值為1,存入到第2步建立的物件中。說明:至於如何對比,就是每次從原陣列中取出一個元素,然後到物件中去訪問這個屬性,如果能訪問到值,則說明重複。

**如下:

array.prototype.unique3 = function(); for(var i = 0; i < this.

length; i++) } return res;}var arr = [112,112,34,'你好',112,112,34,'你好','str','str1'];alert(arr.unique3());

js陣列幾種常見的操作方法

關於js陣列的用法有很多,下面主要針對一些簡單的操作,比如合併,反轉,新增刪除等簡單的操作總結一下。關於js陣列的用法有很多,下面主要針對一些簡單的操作,比如合併,反轉,新增刪除等簡單的操作總結一下。第一 讀取陣列 for迴圈 方法如下 var ay 1,sdsd sdsd for var i 0 ...

路常見的幾種含義,古詩中「路」的常見幾種含義

1.普通現實生活中的路。2.人生歷程。3.途經方法。4.心中所追求的目標 人生道路 自己想的,不好請見諒。最常見的幾種交通標誌,都有什麼含義呢?古詩中 路 的常見幾種含義 路 l 道路 陸 水 大 同 路程 八千里 遙知馬力。兒 途徑 門路 生 活 兒。條理 理 思 筆 地區 方面 南 貨 外 人 ...

廣東省最常見的幾種大樹,廣東省最常見的幾種大樹?

1 榕樹 榕樹多生長在高溫多雨的氣候潮溼,雨水充 足的熱帶雨林地區。樹形奇特,有極高的觀賞價值,既可以種植在大街上作為綠化植被,也可以修剪之後作為盆栽,放在家裡供人觀賞。榕樹的品種較多,我們常見的是小葉榕,是福州榕樹的主要品種,其次是高山榕,根肥如人蔘 如蘿蔔。2 杉樹 杉樹喜歡溫暖溼潤的生長環境,...