JavaScript去掉數(shù)組重復(fù)項(xiàng)的方法分析【測(cè)試可用】
本文實(shí)例分析了JavaScript去掉數(shù)組重復(fù)項(xiàng)的方法。分享給大家供大家參考,具體如下:
利用JavaScript的object的特性,我們可以非常容易的實(shí)現(xiàn)將一個(gè)數(shù)組的重復(fù)項(xiàng)去掉。
object的特性是:key一定是唯一的。
把數(shù)組重復(fù)項(xiàng)去掉:
1 將數(shù)組轉(zhuǎn)換成一個(gè)object對(duì)象,數(shù)組的值作為object對(duì)象的 key
因?yàn)閗ey是唯一的,碰到重復(fù)的數(shù)組值的時(shí)候,object不會(huì)添加key
2 將object對(duì)象轉(zhuǎn)換成數(shù)組,key為數(shù)組的值。
在之前的重復(fù)數(shù)組,每一個(gè)值實(shí)際上對(duì)應(yīng)object只有一個(gè)key,這樣在還原到數(shù)組的時(shí)候,重復(fù)值就去掉了
<script>
/*用object的特性去掉數(shù)組的重復(fù)項(xiàng):
1 把數(shù)組轉(zhuǎn)化成oject對(duì)象,用數(shù)組的值當(dāng)作obj的key
2 把object再轉(zhuǎn)換成數(shù)組
*/
// 傳入數(shù)組 返回object對(duì)象
var toObj = function( arr ){
obj = {};
for(var temp in arr){
//對(duì)arr的每一個(gè)值添加到obj的key,value都是true
obj[arr[temp]] = true;
}
return obj;
};
// 傳入obj對(duì)象 返回arr數(shù)組
var toArr = function( obj ){
var arr = [];
for(var temp in obj){
//把所有的key push到數(shù)組當(dāng)中
arr.push(temp);
}
return arr;
};
//把兩個(gè)方法聯(lián)合起來(lái)
var getUniq = function(arr){
return toArr( toObj(arr) );
};
var arr = [1,1,2,2,3,3,4,4,5,5,5,6,6,6,6,6,6,5,4,3,54,8,11];
console.log(getUniq(arr));
</script>
使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun,運(yùn)行結(jié)果如下:

PS:這里再為大家提供幾款相關(guān)工具供大家參考使用:
在線去除重復(fù)項(xiàng)工具:
http://tools.jb51.net/code/quchong
在線文本去重復(fù)工具:
http://tools.jb51.net/aideddesign/txt_quchong
在線動(dòng)畫(huà)演示插入/選擇/冒泡/歸并/希爾/快速排序算法過(guò)程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript字符與字符串操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
JS數(shù)組方法shift()、unshift()用法實(shí)例分析
這篇文章主要介紹了JS數(shù)組方法shift()、unshift()用法,結(jié)合實(shí)例形式分析了JavaScript數(shù)組shift()與unshift()方法功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-01-01
SOSO地圖JS畫(huà)出標(biāo)注和中心點(diǎn)以html形式運(yùn)行
SOSO地圖想必大家都知道吧,本文將為大家詳細(xì)介紹下使用JS畫(huà)出標(biāo)注和中心點(diǎn),直接貼出代碼,感興趣的朋友可以參考下2013-08-08
JavaScript復(fù)制內(nèi)容到剪貼板的兩種常用方法
最近一個(gè)活動(dòng)頁(yè)面中有一個(gè)小需求,用戶(hù)點(diǎn)擊或者長(zhǎng)按就可以復(fù)制內(nèi)容到剪貼板,記錄一下實(shí)現(xiàn)過(guò)程和遇到的坑,需要的朋友可以參考下2018-02-02
JavaScript遍歷實(shí)現(xiàn)DFS算法和BFS算法
DFS(Depth?first?search)稱(chēng)作「深度優(yōu)先遍歷」,BFS(Breadth?first?search)稱(chēng)作「廣度優(yōu)先遍歷」。本文將通過(guò)JavaScript遍歷實(shí)現(xiàn)這兩種算法,需要的可以參考一下2023-01-01
javascript使用輸出語(yǔ)句實(shí)現(xiàn)網(wǎng)頁(yè)特效代碼
這篇文章主要介紹javascript使用輸出語(yǔ)句實(shí)現(xiàn)網(wǎng)頁(yè)特效,有需要的朋友可以參考下2015-08-08
JavaScript實(shí)現(xiàn)拼音排序的方法
本文將介紹JavaScript如何實(shí)現(xiàn)拼音排序 支持所有主流瀏覽器+中英文系統(tǒng)2012-11-11
JS教程:window.location使用方法的區(qū)別介紹
這篇文章介紹了window.location使用方法的區(qū)別,有需要的朋友可以參考一下2013-10-10

