千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

js數(shù)組中去除重復(fù)值的幾種方法

來(lái)源:千鋒教育
發(fā)布時(shí)間:2023-05-31 16:08:51
分享

千鋒教育品牌logo

  在 JavaScript 中,可以使用多種方法去除數(shù)組中的重復(fù)值。 以下是幾種常見(jiàn)的方法:

  使用 Set:使用 Set 數(shù)據(jù)結(jié)構(gòu)可以輕松去除數(shù)組中的重復(fù)值。 Set 會(huì)自動(dòng)過(guò)濾重復(fù)元素,并返回一個(gè)去重后的結(jié)果數(shù)組。  

let arr = [1, 2, 3, 3, 4, 5, 5];
let uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1, 2, 3, 4, 5]

  使用 filter:使用數(shù)組的 filter 方法結(jié)合 indexOf 或 includes 方法,可以篩選出不重復(fù)的元素組成的新數(shù)組。  

let arr = [1, 2, 3, 3, 4, 5, 5];
let uniqueArr = arr.filter((value, index, self) => {
return self.indexOf(value) === index;
});
console.log(uniqueArr); // [1, 2, 3, 4, 5]

  使用 reduce:使用數(shù)組的 reduce 方法,遍歷數(shù)組并逐個(gè)判斷元素是否已經(jīng)存在于結(jié)果數(shù)組中,如果不存在則將其添加到結(jié)果數(shù)組中。  

let arr = [1, 2, 3, 3, 4, 5, 5];
let uniqueArr = arr.reduce((prev, current) => {
if (!prev.includes(current)) {
prev.push(current);
}
return prev;
}, []);
console.log(uniqueArr); // [1, 2, 3, 4, 5]

  使用 for 循環(huán):使用 for 循環(huán)遍歷數(shù)組,并將不重復(fù)的元素添加到結(jié)果數(shù)組中。 

let arr = [1, 2, 3, 3, 4, 5, 5];
let uniqueArr = [];
for (let i = 0; i < arr.length; i++) {
if (!uniqueArr.includes(arr[i])) {
uniqueArr.push(arr[i]);
}
}
console.log(uniqueArr); // [1, 2, 3, 4, 5]

  這些方法都可以實(shí)現(xiàn)去除數(shù)組中的重復(fù)值,具體選擇哪種方法取決于你的個(gè)人喜好和代碼場(chǎng)景。

聲明:本站部分稿件版權(quán)來(lái)源于網(wǎng)絡(luò),如有侵犯版權(quán),請(qǐng)及時(shí)聯(lián)系我們。

學(xué)習(xí)資源站

  • 免費(fèi)全套視頻教程
  • 企業(yè)實(shí)戰(zhàn)項(xiàng)目源碼
  • 大廠筆試真題題庫(kù)
  • 行業(yè)前瞻發(fā)展趨勢(shì)

相關(guān)推薦

  • vue配置跨域怎么操作 Vue配置跨域的操作非常簡(jiǎn)單。在Vue項(xiàng)目中,我們可以通過(guò)配置webpack來(lái)實(shí)現(xiàn)跨域請(qǐng)求。在Vue項(xiàng)目的根目錄下找到config文件夾,然后打開(kāi)index.js文件。在該文件中,我們可以找到一個(gè)名為
  • npm包管理工具有什么用途? npm(NodePackageManager)是JavaScript生態(tài)系統(tǒng)中最常用的包管理工具。它是隨同Node.js安裝的,默認(rèn)包含在Node.js的安裝包中。npm允許開(kāi)發(fā)者輕松地安裝、更新、卸
  • vue事件修飾符有哪些? 在Vue.js中,事件修飾符是一種用于修改事件觸發(fā)行為的特殊修飾符。以下是常用的事件修飾符:1.`.stop`:阻止事件繼續(xù)傳播,即阻止事件冒泡。2.`.prevent`:阻止事件默認(rèn)行為。3.`.c
  • vue路由守衛(wèi)有哪些? 在Vue.js中,路由守衛(wèi)是一種用于控制導(dǎo)航的機(jī)制,它允許您在路由切換前后執(zhí)行相應(yīng)的操作。VueRouter提供了三種類型的路由守衛(wèi):1.全局前置守衛(wèi)(GlobalBeforeGuards):-`be
  • css絕對(duì)定位和相對(duì)定位 CSS中的絕對(duì)定位(absolutepositioning)和相對(duì)定位(relativepositioning)是用于控制元素在頁(yè)面布局中的位置的兩種常見(jiàn)定位方式。1.絕對(duì)定位(absolutepos
  • npm安裝less用法介紹 npm(NodePackageManager)是Node.js的包管理器,它允許您安裝、管理和共享JavaScript模塊。要安裝和使用Less(一種CSS預(yù)處理器),您可以按照以下步驟進(jìn)行操作:1.
  • 主站蜘蛛池模板: 激情啪啪精品一区二区| 中文字幕视频一区| 国产亚洲福利一区二区免费看| 国内精品无码一区二区三区| 国产精品一区电影| 国产激情一区二区三区四区| 天堂资源中文最新版在线一区 | 久久精品综合一区二区三区| 午夜福利国产一区二区| 一区二区三区影院| 日本精品一区二区三区在线观看| 国产在线精品一区二区中文| 无码aⅴ精品一区二区三区浪潮 | 日韩精品一区二区三区在线观看| 高清精品一区二区三区一区| 精品国产乱码一区二区三区| 怡红院美国分院一区二区| 精品国产精品久久一区免费式| 一区三区三区不卡| 国产成人精品无码一区二区 | 国产一区二区三区精品久久呦| 色欲精品国产一区二区三区AV| 久久久久99人妻一区二区三区| 国产成人一区二区三区在线| 国产一区二区高清在线播放 | 极品少妇一区二区三区四区| 日本一区二区三区免费高清| 无码AV一区二区三区无码| 激情无码亚洲一区二区三区| 午夜视频一区二区| 日本人真淫视频一区二区三区| 一区二区精品视频| 亚洲乱码日产一区三区| 精品一区二区三区四区在线播放 | 久久精品中文字幕一区| 韩国福利一区二区三区高清视频 | 精品一区二区三区四区电影 | 在线观看一区二区三区视频| 国产欧美一区二区精品仙草咪| 国产av夜夜欢一区二区三区| 日本一区二区在线免费观看|