好程式設計師分享JavaScrip陣列去重操作例項小結
好程式設計師分享 JavaScrip 陣列去重操作例項小結 , 這篇文章主要介紹了 JavaScrip 陣列去重操作 , 結合例項形式總結分析了 javascript 針對陣列的遍歷、判斷、去重等相關操作技巧 , 需要的朋友可以參考下 。
本文例項講述了 JavaScrip陣列去重操作。分享給大家供大家參考,具體如下:
內建的 for-of方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<script> var arr=[2,1,1,3, '' , '' , 'e' , 'e' , true , 'true' , true , false , false , 'false' ,undefined, 'undefined' ,undefined, null , 'null' , null ]; function uniqueUseForOf(array) { const temp = []; //一個臨時陣列 // 傳入值必須存在,且長度小於等於1的時候直接返回陣列 if (array && array.length <= 1) { return array; } else { //遍歷當前陣列 for (let x of array) { temp.indexOf(x) === -1 ? temp.push(x) : '' ; } } return temp; } uniqueUseForOf(arr); console.log(uniqueUseForOf(arr)) </script> |
內建的 forEach方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<script> var arr=[3,1,1,3, '' , '' , 'e' , 'e' , true , 'true' , true , false , false , 'false' ,undefined, 'undefined' ,undefined, null , 'null' , null ]; function uniqueUseForEach(array) { // 傳入值必須存在,且長度小於等於1的時候直接返回陣列 if (array && array.length <= 1) { return array; } else { var temp = []; //一個臨時陣列 //遍歷當前陣列 array.forEach( function (value, index) { temp.indexOf(value) == -1 ? temp.push(value) : '' ; }) return temp; } } uniqueUseForEach(arr); console.log(uniqueUseForEach(arr)) </script> |
萬能的 for方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<script> var arr=[1,1, '' , '' , 'e' , 'e' , true , 'true' , true , false , false , 'false' ,undefined, 'undefined' ,undefined, null , 'null' , null ]; function uniqueUseFor(array) { var temp = []; //一個臨時陣列 //遍歷當前陣列 for ( var i = 0, j = array.length; i < j; i++) { //很直白,新陣列內判斷是否有這個值,沒有的情況下,就推入該新陣列 temp.indexOf(array[i]) === -1 ? temp.push(array[i]) : '' ; } return temp; } uniqueUseFor(arr); console.log(uniqueUseFor(arr)) </script> |
第一種方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<script> var arr = [1, 2, 3, 4, 1, 2, 4, 5, 6]; console.log(arr); Array.prototype.unique = function () { var n = [ this [0]]; //結果陣列 for ( var i = 1; i < this .length; i++) //從第二項開始遍歷 { //如果當前陣列的第i項在當前陣列中第一次出現的位置不是i, //那麼表示第i項是重複的,忽略掉。否則存入結果陣列 if ( this .indexOf( this [i]) == i) n.push( this [i]); } return n; }; console.log(arr.unique()); </script> |
第二種方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<script> var arr = [1,2,3,4,1,2,4,5,6]; console.log(arr); Array.prototype.unique = function () { var n = {}, r = []; //n為hash表,r為臨時陣列 for ( var i = 0; i < this .length; i++) { //遍歷當前陣列 if (!n[ this [i]]) { //如果hash表中沒有當前項 n[ this [i]] = true ; //存入hash表 r.push( this [i]); //把當前陣列的當前項push到臨時陣列裡面 } } return r; }; console.log(arr.unique()); </script> |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2651364/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師web前端之JavaScript陣列去重方法程式設計師Web前端JavaScript陣列
- 好程式設計師web前端分享javascript關聯陣列用法總結程式設計師Web前端JavaScript陣列
- 好程式設計師大資料分享Shell中陣列講解程式設計師大資料陣列
- 好程式設計師web前端分享在HTML中使用JavaScript例項程式碼程式設計師Web前端HTMLJavaScript
- 好程式設計師分享JavaScript名稱空間模式例項詳解程式設計師JavaScript模式
- js 陣列去重小技巧JS陣列
- 好程式設計師Python培訓分享列表去重中的copy問題程式設計師Python
- JS陣列去重 – JSON陣列去重陣列JSON
- 好程式設計師大資料教程分享HadoopHDFS操作命令總結程式設計師大資料Hadoop
- 好程式設計師分享javascript中陣列化的一般見解程式設計師JavaScript陣列
- shell script程式設計小結——附帶例項程式設計
- JavaScript陣列去重方法總結JavaScript陣列
- 好程式設計師大資料學習路線分享Scala系列之陣列程式設計師大資料陣列
- 好程式設計師web前端培訓分享JavaScript學習筆陣列的排序程式設計師Web前端JavaScript陣列排序
- 好程式設計師web前端培訓分享JavaScript學習筆記之陣列程式設計師Web前端JavaScript筆記陣列
- 陣列去重陣列
- 好程式設計師Python培訓分享資料型別Set集合例項詳解程式設計師Python資料型別
- 好程式設計師分享Linux重器vi編輯器程式設計師Linux
- 好程式設計師分享HashSet實現去除重複元素程式設計師
- 好程式設計師大資料教程分享實用的大資料之陣列程式設計師大資料陣列
- JavaScript陣列去重JavaScript陣列
- 陣列物件去重陣列物件
- js陣列去重JS陣列
- JavaScript 陣列去重JavaScript陣列
- 好程式設計師web前端分享javascript列舉演算法程式設計師Web前端JavaScript演算法
- 陣列及陣列物件操作 ----------包括排序,去重,合併,翻轉等陣列物件排序
- 好程式設計師Java教程分享MySQL目錄結構程式設計師JavaMySql
- 好程式設計師Java教程分享Java 迴圈結構程式設計師Java
- 好程式設計師雲端計算培訓分享msyql高階操作程式設計師
- 前端程式設計師學好演算法系列(一)陣列前端程式設計師演算法陣列
- Verilog例項陣列陣列
- 好程式設計師Java學習路線分享java為什麼不支援泛型陣列程式設計師Java泛型陣列
- js陣列操作方法小結JS陣列
- JavaScript陣列合並程式碼例項JavaScript陣列
- 好程式設計師Web前端分享程式的三大結構(一)程式設計師Web前端
- 好程式設計師Java培訓之類的例項化步驟程式設計師Java
- 陣列去重和求和陣列
- 陣列去重的方法陣列