JavaScript基于對象去除數(shù)組重復(fù)項的方法
本文實(shí)例講述了JavaScript基于對象去除數(shù)組重復(fù)項的方法。分享給大家供大家參考,具體如下:
JavaScript中,去除數(shù)組重復(fù)項是一個很常用的函數(shù),而且在面試中也很經(jīng)常被提問到.很多人在面對這個問題的時候,一般都是采用多層for循環(huán)來一步一步的比較,然后刪除,那樣不僅代碼量很多,而且性能也很不好.在JavaScript的對象中,有一個特性就是key永遠(yuǎn)不重復(fù),如果重復(fù)后面的就會覆蓋前面的.
三個步驟:
1# 把數(shù)組轉(zhuǎn)換成js對象
2# 把數(shù)組值變成js對象中的key
3# 把對象還原成數(shù)組
var toObject = function(arr){ var obj = new Object(); //私有對象 var j = arr.length; for(var i=0; i < j; +i+){ obj[arr[i]] = true; } return obj; } var keys = function(obj){ var arr = []; for(var attr in obj){ if(obj.hasOwnPerpoty(attr)){ arr.push(attr); } } return arr; } var uniq = function(arr){ //去除重復(fù)項 return keys(toObject(newarr)); }
在使用的使用,把數(shù)組傳遞到uniq函數(shù)里面即可,這個方法使用了JavaScript對象特性,非常的高效簡潔,也是雅虎YUI的底層實(shí)現(xiàn).
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動畫特效與技巧匯總》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
js獲取html頁面節(jié)點(diǎn)方法(遞歸方式)
這篇文章主要介紹了js使用遞歸方式獲取html頁面節(jié)點(diǎn)的方法,大家可以參考使用吧2013-12-12JavaScript通過this變量快速找出用戶選中radio按鈕的方法
這篇文章主要介紹了JavaScript通過this變量快速找出用戶選中radio按鈕的方法,涉及javascript中this變量的使用技巧,非常具有實(shí)用價值,需要的朋友可以參考下2015-03-03javascript模擬php函數(shù)in_array
就是判斷一個元素是否存在于數(shù)組中的函數(shù),既然js里string都有indexOf函數(shù),為什么不在Array對象里設(shè)置一個這樣的函數(shù)呢,其實(shí)就用indexOf這個思想挺好的,不知道制定JS標(biāo)準(zhǔn)的人是基于什么考慮,把這樣一個如此常用的功能沒考慮在內(nèi)的。2015-04-04用JavaScript計算在UTF-8下存儲字符串占用字節(jié)數(shù)
想辦法在JavaScript中判斷在UTF-8下存儲的String的字節(jié)數(shù),在網(wǎng)上找到很多關(guān)于Unicode介紹的文檔,最重要的是字符編碼數(shù)值對應(yīng)的存儲長度2013-08-08js實(shí)現(xiàn)的下拉框二級聯(lián)動效果
這篇文章主要介紹了js實(shí)現(xiàn)的下拉框二級聯(lián)動效果,涉及JavaScript針對頁面元素的遍歷與節(jié)點(diǎn)操作相關(guān)技巧,需要的朋友可以參考下2016-04-04JS實(shí)現(xiàn)至少包含字母、大小寫數(shù)字、字符的密碼等級的兩種方法
這篇文章主要介紹了JS實(shí)現(xiàn)至少包含字母、大小寫數(shù)字、字符的密碼等級的兩種方法,可實(shí)現(xiàn)有效檢測用戶密碼等級的功能,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02JavaScript第一篇之實(shí)現(xiàn)按鈕全選、功能
這篇文章主要介紹了JavaScript第一篇之實(shí)現(xiàn)按鈕全選、功能的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-08-08