這篇文章主要講解了“JavaScrip數(shù)組去重的方法有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“JavaScrip數(shù)組去重的方法有哪些”吧!
成都創(chuàng)新互聯(lián)公司自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計、成都做網(wǎng)站、成都網(wǎng)站設(shè)計、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)管理經(jīng)驗、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團隊及專業(yè)的網(wǎng)站設(shè)計師團隊。本文實例講述了JavaScrip數(shù)組去重操作。分享給大家供大家參考,具體如下:
內(nèi)置的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 { //遍歷當(dāng)前數(shù)組 for (let x of array) { temp.indexOf(x) === -1 ? temp.push(x) : ''; } } return temp; } uniqueUseForOf(arr); console.log(uniqueUseForOf(arr)) </script> |
內(nèi)置的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ù)組 //遍歷當(dāng)前數(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ù)組 //遍歷當(dāng)前數(shù)組 for (var i = 0, j = array.length; i < j; i++) { //很直白,新數(shù)組內(nèi)判斷是否有這個值,沒有的情況下,就推入該新數(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]]; //結(jié)果數(shù)組 for(var i = 1; i < this.length; i++) //從第二項開始遍歷 { //如果當(dāng)前數(shù)組的第i項在當(dāng)前數(shù)組中第一次出現(xiàn)的位置不是i, //那么表示第i項是重復(fù)的,忽略掉。否則存入結(jié)果數(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++) { //遍歷當(dāng)前數(shù)組 if (!n[this[i]]) { //如果hash表中沒有當(dāng)前項 n[this[i]] = true; //存入hash表 r.push(this[i]); //把當(dāng)前數(shù)組的當(dāng)前項push到臨時數(shù)組里面 } } return r; }; console.log(arr.unique()); </script> |
感謝各位的閱讀,以上就是“JavaScrip數(shù)組去重的方法有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對JavaScrip數(shù)組去重的方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
本文標(biāo)題:JavaScrip數(shù)組去重的方法有哪些-創(chuàng)新互聯(lián)
文章源于:http://muchs.cn/article36/djidsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈、營銷型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容