本文實例講述了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的底層實現(xiàn).
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
新聞熱點
疑難解答