本文小編為大家詳細介紹“node數(shù)組去重的方法有哪些”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“node數(shù)組去重的方法有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
10年積累的做網(wǎng)站、成都網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站策劃后付款的網(wǎng)站建設(shè)流程,更有馬山免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
方法:1、利用map數(shù)據(jù)結(jié)構(gòu)實現(xiàn)去重,將數(shù)組的每一個元素作為key存到map中;2、利用es6中的set方法實現(xiàn)去重,語法為“Set(array)”;3、利用forEach語句配合indexOf實現(xiàn)去重。
本文操作環(huán)境:Windows10系統(tǒng)、nodejs 12.19.0版、Dell G3電腦。
第一種 利用Map數(shù)據(jù)結(jié)構(gòu)去重
創(chuàng)建一個空Map數(shù)據(jù)結(jié)構(gòu),遍歷需要去重的數(shù)組,把數(shù)組的每一個元素作為key存到Map中。由于Map中不會出現(xiàn)相同的key值,所以最終得到的就是去重后的結(jié)果
function a(arr) { let map = new Map(); let array = new Array(); // 數(shù)組用于返回結(jié)果 for (let i = 0; i < arr.length; i++) { if (map.has(arr[i])) { // 如果有該key值 map.set(arr[i], true); } else { map.set(arr[i], false); // 如果沒有該key值 array.push(arr[i]); } } return array; } var arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]; console.log(a(arr)) //[1,2,3,4,5]
第二種 使用ES6中的set是最簡單的去重方法
let arr2 = [1, 2, 3, 4, 5, 5, 4, 3]; let res = [...new Set(arr2)]; console.log(res);
第三種 forEach+indexOf實現(xiàn)去重
var arr3 = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]; var b = distinct(arr3); function distinct(arr) { result = [], len = arr3.length; //len=10; arr3.forEach(function (v, i, arr3) { var bool = arr3.indexOf(v, i + 1); //從傳入?yún)?shù)的下一個索引值開始尋找是否存在重復(fù) if (bool === -1) { result.push(v); } }) return result; }; console.log(b.toString()); //1,2,3,4,5
讀到這里,這篇“node數(shù)組去重的方法有哪些”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
新聞名稱:node數(shù)組去重的方法有哪些
文章起源:http://jinyejixie.com/article30/pgigso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計、云服務(wù)器、全網(wǎng)營銷推廣、微信公眾號
聲明:本網(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)