本文執行個體講述了javascript數組去重方法。分享給大家供大家參考,具體如下:
方法一.
思路:建立一個新的空數組,迴圈遍曆舊數組,用indexOf()方法,可以取得元素在數組中的位置,如果值為-1表示不存在。那麼新數組用indexOf去擷取老數組的每一個元素,如果值為-1表示不存在,就把他push到新數組裡,最後輸出新數組即去重後的數組
var arr=[24,56,74,89,24,56,78,09,24];var new_arr=[];for(var i=0;i<arr.length;i++){ if(new_arr.indexOf(arr[i])==-1){ new_arr.push(arr[i]); }}console.log(new_arr);
方法二.
var arr=[2,58,49,26,49];<br>var o={};var new_arr=[];for(var i=0;i<arr.length;i++){ var k=arr[i]; if(!o[k]){ o[k]=true; new_arr.push(k); }}alert(new_arr);
同樣的原理,只是借用一個Null 物件來判斷
註:第二種方法是把已經出現過的通過下標的形式存入到一個object內,下標引用要比用indexOf()搜尋數組快得多,所以第一種方法很耗資源
PS:這裡再為大家提供2款相似的去重複工具,供大家參考使用:
線上去除重複項工具:
http://tools.jb51.net/code/quchong
線上文本去重複工具:
http://tools.jb51.net/aideddesign/txt_quchong
更多關於JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數組操作技巧總結》、《JavaScript遍曆演算法與技巧總結》、《JavaScript數學運算用法總結》、《JavaScript資料結構與演算法技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript尋找演算法技巧總結》、《JavaScript動畫特效與技巧匯總》及《JavaScript錯誤與調試技巧總結》
希望本文所述對大家JavaScript程式設計有所協助。