国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > js數組中去除重復值的幾種方法?

js數組中去除重復值的幾種方法?

來源:千鋒教育
發布人:xqq
時間: 2023-08-03 19:21:10 1691061670

在JavaScript中,有幾種方法可以從數組中去除重復值。下面將介紹其中的幾種常用方法。

方法一:使用Set

Set是ES6中引入的一種新的數據結構,它類似于數組,但是成員的值都是唯一的,沒有重復的值。我們可以通過將數組轉換為Set,然后再將Set轉換回數組的方式,實現去除重復值的效果。

const arr = [1, 2, 3, 3, 4, 5, 5];

const uniqueArr = [...new Set(arr)];

console.log(uniqueArr); // [1, 2, 3, 4, 5]

方法二:使用filter

我們可以使用filter方法來遍歷數組,然后通過判斷當前元素在數組中的索引是否與當前索引相等,來篩選出不重復的元素。

const arr = [1, 2, 3, 3, 4, 5, 5];

const uniqueArr = arr.filter((item, index) => arr.indexOf(item) === index);

console.log(uniqueArr); // [1, 2, 3, 4, 5]

方法三:使用reduce

reduce方法可以將數組中的每個元素依次傳入回調函數,并將回調函數的返回值作為下一次調用的參數。我們可以利用reduce方法來構建一個新的數組,只添加不重復的元素。

const arr = [1, 2, 3, 3, 4, 5, 5];

const uniqueArr = arr.reduce((prev, cur) => {

if (!prev.includes(cur)) {

prev.push(cur);

}

return prev;

}, []);

console.log(uniqueArr); // [1, 2, 3, 4, 5]

方法四:使用Map

Map是一種鍵值對的集合,我們可以使用Map來存儲數組中的元素,并利用Map的鍵的唯一性來去除重復值。

const arr = [1, 2, 3, 3, 4, 5, 5];

const uniqueArr = Array.from(new Map(arr.map(item => [item, item])).values());

console.log(uniqueArr); // [1, 2, 3, 4, 5]

方法五:使用forEach

我們可以使用forEach方法來遍歷數組,然后通過判斷當前元素是否已經存在于新數組中,來篩選出不重復的元素。

const arr = [1, 2, 3, 3, 4, 5, 5];

const uniqueArr = [];

arr.forEach(item => {

if (!uniqueArr.includes(item)) {

uniqueArr.push(item);

}

});

console.log(uniqueArr); // [1, 2, 3, 4, 5]

這些方法都可以有效地從JavaScript數組中去除重復值。根據實際情況選擇合適的方法來解決問題,可以提高代碼的效率和可讀性。

千鋒教育擁有多年IT培訓服務經驗,開設Java培訓、web前端培訓、大數據培訓python培訓軟件測試培訓等課程,采用全程面授高品質、高體驗教學模式,擁有國內一體化教學管理及學員服務,想獲取更多IT技術干貨請關注千鋒教育IT培訓機構官網。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT