JavaScript基于對(duì)象去除數(shù)組重復(fù)項(xiàng)的方法
本文實(shí)例講述了JavaScript基于對(duì)象去除數(shù)組重復(fù)項(xiàng)的方法。分享給大家供大家參考,具體如下:
JavaScript中,去除數(shù)組重復(fù)項(xiàng)是一個(gè)很常用的函數(shù),而且在面試中也很經(jīng)常被提問(wèn)到.很多人在面對(duì)這個(gè)問(wèn)題的時(shí)候,一般都是采用多層for循環(huán)來(lái)一步一步的比較,然后刪除,那樣不僅代碼量很多,而且性能也很不好.在JavaScript的對(duì)象中,有一個(gè)特性就是key永遠(yuǎn)不重復(fù),如果重復(fù)后面的就會(huì)覆蓋前面的.
三個(gè)步驟:
1# 把數(shù)組轉(zhuǎn)換成js對(duì)象
2# 把數(shù)組值變成js對(duì)象中的key
3# 把對(duì)象還原成數(shù)組
var toObject = function(arr){
var obj = new Object(); //私有對(duì)象
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ù)項(xiàng)
return keys(toObject(newarr));
}
在使用的使用,把數(shù)組傳遞到uniq函數(shù)里面即可,這個(gè)方法使用了JavaScript對(duì)象特性,非常的高效簡(jiǎn)潔,也是雅虎YUI的底層實(shí)現(xiàn).
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫(huà)特效與技巧匯總》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
百度地圖去掉marker覆蓋物或者去掉maker的label文字方法
下面小編就為大家分享一篇百度地圖去掉marker覆蓋物或者去掉maker的label文字方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
javascript IE中的DOM ready應(yīng)用技巧
當(dāng)我們想在頁(yè)面加載之后執(zhí)行某個(gè)函數(shù),肯定會(huì)想到onload了 但onload在瀏覽器看來(lái),就是頁(yè)面上的東西全部都加載完畢后才能發(fā)生,但那就為時(shí)已晚了。2008-07-07
js之切換全屏和退出全屏實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了js之切換全屏和退出全屏實(shí)現(xiàn)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
js實(shí)現(xiàn)控制文件拖拽并獲取拖拽內(nèi)容功能
本片文章主要給大家分享了用JS寫(xiě)出控制文件拖拽并獲取拖拽內(nèi)容功能實(shí)現(xiàn)過(guò)程,以及代碼分享,有興趣的一起學(xué)習(xí)下。2018-02-02
easyui combobox開(kāi)啟搜索自動(dòng)完成功能的實(shí)例代碼
下面小編就為大家?guī)?lái)一篇easyui combobox開(kāi)啟搜索自動(dòng)完成功能的實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11
微信小程序wx.getUserInfo授權(quán)獲取用戶(hù)信息(頭像、昵稱(chēng))的實(shí)現(xiàn)
這篇文章主要介紹了微信小程序wx.getUserInfo授權(quán)獲取用戶(hù)信息(頭像、昵稱(chēng))的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08

