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)合起來 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)畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《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)文章
優(yōu)化innerHTML操作(提高代碼執(zhí)行效率)
多數(shù)現(xiàn)代瀏覽器都實(shí)現(xiàn)了innerHTML操作,它的方便性讓我們愛不釋手,但如果使用不當(dāng),很容易出現(xiàn)效率問題,本文通過一個(gè)例子來說明如何優(yōu)化innerHTML操作。2011-08-08原生JS控制多個(gè)滾動(dòng)條同步跟隨滾動(dòng)效果
本文要探討的是,當(dāng)這兩個(gè)容器元素的內(nèi)容都超出了容器高度,即都出現(xiàn)了滾動(dòng)框的時(shí)候,如何在其中一個(gè)容器元素滾動(dòng)時(shí),讓另外一個(gè)元素也隨之滾動(dòng)2017-12-12基于JavaScript實(shí)現(xiàn)窗口拖動(dòng)效果
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)窗口拖動(dòng)效果的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01JavaScript實(shí)現(xiàn)時(shí)間格式的切割與轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了使用JavaScript實(shí)現(xiàn)時(shí)間格式的切割與轉(zhuǎn)換的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考一下2024-04-04bootstrap modal+gridview實(shí)現(xiàn)彈出框效果
這篇文章主要介紹了bootstrap modal+gridview實(shí)現(xiàn)彈出框效果,gridview點(diǎn)擊更新彈出填寫信息表單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08微信小程序 JS動(dòng)態(tài)修改樣式的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于微信小程序JS動(dòng)態(tài)修改樣式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12