您好,登錄后才能下訂單哦!
這篇文章主要講解了“JavaScrip數(shù)組去重的方法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“JavaScrip數(shù)組去重的方法有哪些”吧!
本文實例講述了JavaScrip數(shù)組去重操作。分享給大家供大家參考,具體如下:
內置的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 = []; //一個臨時數(shù)組 // 傳入值必須存在,且長度小于等于1的時候直接返回數(shù)組 if (array && array.length <= 1) { return array; } else { //遍歷當前數(shù)組 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的時候直接返回數(shù)組 if (array && array.length <= 1) { return array; } else { var temp = []; //一個臨時數(shù)組 //遍歷當前數(shù)組 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 = []; //一個臨時數(shù)組 //遍歷當前數(shù)組 for (var i = 0, j = array.length; i < j; i++) { //很直白,新數(shù)組內判斷是否有這個值,沒有的情況下,就推入該新數(shù)組 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]]; //結果數(shù)組 for(var i = 1; i < this.length; i++) //從第二項開始遍歷 { //如果當前數(shù)組的第i項在當前數(shù)組中第一次出現(xiàn)的位置不是i, //那么表示第i項是重復的,忽略掉。否則存入結果數(shù)組 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為臨時數(shù)組 for (var i = 0; i < this.length; i++) { //遍歷當前數(shù)組 if (!n[this[i]]) { //如果hash表中沒有當前項 n[this[i]] = true; //存入hash表 r.push(this[i]); //把當前數(shù)組的當前項push到臨時數(shù)組里面 } } return r; }; console.log(arr.unique()); </script> |
感謝各位的閱讀,以上就是“JavaScrip數(shù)組去重的方法有哪些”的內容了,經過本文的學習后,相信大家對JavaScrip數(shù)組去重的方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。