日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

JavaScript中數(shù)組去重的5種方法

瀏覽:216日期:2023-10-22 13:43:07

正常情況下,數(shù)據(jù)去重的工作一般都是由后端同事來(lái)完成的,但是前端也要掌握好處理數(shù)據(jù)的能力,萬(wàn)一去重的工作交給我們大前端處理,我們也不能慫呀。現(xiàn)在我總結(jié)了一些去重的方法,希望對(duì)大家有點(diǎn)幫助。

方法一:new Set()實(shí)現(xiàn)數(shù)組去重

ES6 提供了新的數(shù)據(jù)結(jié)構(gòu) Set,它類(lèi)似于數(shù)組,但是成員的值都是唯一的,沒(méi)有重復(fù)的值。 Set 本身是一個(gè)構(gòu)造函數(shù),用來(lái)生成 Set 數(shù)據(jù)結(jié)構(gòu)。Set函數(shù)可以接受一個(gè)數(shù)組,用于初始化。根據(jù) Set的數(shù)據(jù)特性,我們可以實(shí)現(xiàn)數(shù)組去重。

let list = [1, 1, ’a’, ’a’, true, true, false, false, null, ’’, null, ’’, undefined, undefined];let list1 = Array.from(new Set(list)); // [ 1, 'a', true, false, null, '', undefined ]let list2 = [...new Set(list)]; // [ 1, 'a', true, false, null, '', undefined ]

方法二:some()+循環(huán)去重

some() 方法用于檢測(cè)數(shù)組中的元素是否滿足指定條件(函數(shù)提供) 。 如果有一個(gè)元素滿足條件,則表達(dá)式返回true , 剩余的元素不會(huì)再執(zhí)行檢測(cè)。 如果沒(méi)有滿足條件的元素,則返回false。 我們可以定義一個(gè)新數(shù)組來(lái)承接沒(méi)有重復(fù)的數(shù)據(jù),遍歷原始數(shù)組的時(shí)候,用新數(shù)組來(lái)判斷數(shù)據(jù)是否已經(jīng)出現(xiàn)過(guò)。

function distinct(list) { let result = [list[0]];// 用于承接沒(méi)有重復(fù)的數(shù)據(jù),初始時(shí)將原始數(shù)組的第一個(gè)值賦給它。 for (let i = 1; i < list.length; i++) { // 判斷結(jié)果數(shù)組中是否存在一樣的值,若果沒(méi)有的話則將數(shù)據(jù)存入結(jié)果數(shù)組中。 if (!(result.some(val => list[i] === val))) { result.push(list[i]); } } return result; }let arr = [1, 1, ’a’, ’a’, true, true, false, false, null, ’’, null, ’’, undefined, undefined];distinct(arr); // [ 1, 'a', true, false, null, '', undefined ]

方法三:雙重for循環(huán)去重

雙重for循環(huán),第一層循環(huán)確保數(shù)組中的每一項(xiàng)都能被比較,第二層循環(huán)確保被比較項(xiàng)后的每一項(xiàng)都能跟被比較項(xiàng)比較。

function distinct2(list) { for (let i = 0; i < list.length; i++) { for (let j = i + 1; j < list.length; j++) { // 后面數(shù)據(jù)的若跟前一項(xiàng)數(shù)據(jù)相同,則重復(fù),需要去除。 if (list[i] === list[j]) {list.splice(j, 1); // 去除后面的相同項(xiàng)j--; } } } return list;}let arr = [1, 1, ’a’, ’a’, true, true, false, false, null, ’’, null, ’’, undefined, undefined];distinct2(arr); // [ 1, 'a', true, false, null, '', undefined ]

方法四:hasOwnProperty()方法去重

hasOwnProperty() 方法用來(lái)檢測(cè)一個(gè)屬性是否是對(duì)象的自有屬性,而不是從原型鏈繼承的。如果該屬性是自有屬性,那么返回 true,否則返回 false。

function unique(arr) { var obj = {}; // 用來(lái)記錄數(shù)組中的數(shù)據(jù) return arr.filter(function(item, index, arr){ // 如果記錄對(duì)象中存在某個(gè)數(shù)據(jù),則返回false過(guò)濾掉;否則obj進(jìn)行記錄并篩選出來(lái) return obj.hasOwnProperty(typeof item + item) ? false : (obj[typeof item + item] = true) })}let arr = [1,1,’true’,’true’,true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,’NaN’, 0, 0, ’a’, ’a’,{},{}];unique(arr) // [ 1, 'true', true, 15, false, undefined, null, NaN, 'NaN', 0, ’a’, {}]

方法五:利用filter()+indexOf()方法去重

indexOf() 方法可返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置。

function unique(arr) { return arr.filter(function(item, index, arr) { // 從數(shù)組0位開(kāi)始查,如果當(dāng)前元素在原始數(shù)組中的第一個(gè)索引==當(dāng)前索引值,說(shuō)明它是第一次出現(xiàn)。 return arr.indexOf(item, 0) === index; });}let list = [1, 1, ’a’, ’a’, true, true, false, false, null, ’’, null, ’’, undefined, undefined];unique(list); // [ 1, 'a', true, false, null, '', undefined ]

此外,數(shù)組去重還可以利用filter()、includes()等方法實(shí)現(xiàn),但是思路都跟上面幾種方法類(lèi)似,這里就不一一列舉了。

以上就是JavaScript中數(shù)組去重的5種方法的詳細(xì)內(nèi)容,更多關(guān)于JavaScript中數(shù)組去重的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩一区二区国产| 亚洲欧洲日本mm| 亚洲视频www| 亚洲深夜av| 日韩中文字幕区一区有砖一区| 偷拍欧美精品| 日本а中文在线天堂| 国产精品1区在线| 国产成人久久精品一区二区三区| 麻豆国产欧美日韩综合精品二区| 久久xxxx精品视频| 狠狠干成人综合网| 日韩专区在线视频| 欧美一级网址| 国产在线看片免费视频在线观看| 超碰在线99| 麻豆亚洲精品| 国产精品亚洲综合在线观看| 日本aⅴ免费视频一区二区三区| 亚洲tv在线| 久久久久久婷| 日韩网站在线| 欧美亚洲人成在线| 成人日韩精品| 亚洲深夜福利在线观看| 91精品国产经典在线观看| 麻豆一区二区在线| 亚洲午夜黄色| 国产精品成人**免费视频 | 国内一区二区三区| 香蕉国产精品| 国产精品主播| 欧美.日韩.国产.一区.二区 | 国产精成人品2018| 在线亚洲自拍| 精品国产一区二区三区性色av| 日韩精品免费一区二区在线观看| 99精品网站| 国产伦精品一区二区三区在线播放| 久久国产电影| 精品欧美日韩精品| 国产亚洲欧美日韩在线观看一区二区| 久久精品免费一区二区三区| 国产精品115| 婷婷精品在线| 久久亚洲影院| 亚洲国产成人精品女人| 色偷偷色偷偷色偷偷在线视频| 麻豆精品在线播放| 欧美一级专区| 九色精品91| 91视频一区| 国产a亚洲精品| 视频在线不卡免费观看| 国产精品视频一区二区三区 | 欧美丝袜一区| 欧美成人精品午夜一区二区| 婷婷中文字幕一区| 99国产精品自拍| 2023国产精品久久久精品双| 精品不卡一区| 日韩高清欧美| 欧美 日韩 国产一区二区在线视频 | 丁香六月综合| 毛片在线网站| 免费高潮视频95在线观看网站| 亚洲精品日本| 亚洲三级国产| 国产探花一区二区| 国产91在线播放精品| 国产精品99在线观看| 国产乱人伦精品一区| 精品久久91| 亚洲a一区二区三区| 99国产精品私拍| 日本亚州欧洲精品不卡| 国产精品4hu.www| 91精品国产调教在线观看 | 久久九九精品| 亚洲综合五月| 欧美国产日韩电影| 日韩国产一区二区| 视频国产精品| 国产精品午夜av| 天堂√8在线中文| 午夜在线视频一区二区区别| 国产精品大片免费观看| 136国产福利精品导航网址| 男女男精品视频网| 麻豆91在线播放| 日韩久久精品网| 日韩精品第一| 久久婷婷一区| 国产精品一区二区精品| 久久久久久久久久久9不雅视频| 中文字幕av一区二区三区四区| 精品美女视频 | 亚洲啊v在线免费视频| 日本精品另类| 中国字幕a在线看韩国电影| 蜜桃伊人久久| 天堂av在线一区| 久久精品国产久精国产爱| 久久久天天操| 久久99久久久精品欧美| 国产精品视区| 亚洲一级少妇| 卡一卡二国产精品| 日韩精品第二页| 蜜桃久久av| 欧美日韩国产高清| 精品一区二区三区视频在线播放| 亚洲激情中文在线| 国产精品13p| 亚洲精品护士| 国产99久久| 国产在线看片免费视频在线观看| 97久久精品| 亚洲青青久久| 中文字幕一区二区av| 国产精品毛片在线看| 香蕉国产精品| 免费精品国产的网站免费观看| 波多视频一区| 91亚洲人成网污www| 精品免费av| 精品亚洲免a| 精品伊人久久| 亚洲1区在线| 日本免费在线视频不卡一不卡二| 国产91久久精品一区二区| 免费看av不卡| 激情偷拍久久| 国产视频一区免费看| 国产婷婷精品| 综合视频一区| 国产毛片一区二区三区| 欧美国产免费| 久草免费在线视频| 免费不卡中文字幕在线| 99视频精品免费观看| 日韩午夜高潮| 久久久久久久久99精品大| 激情五月色综合国产精品| 国产亚洲在线| 日韩av不卡一区二区| 国产精品激情| 久久视频精品| 亚洲91在线| 97精品97| 亚洲精品看片| 国产中文字幕一区二区三区| 亚洲婷婷在线| 国产精品va| 欧美日韩国产一区二区三区不卡| 蜜臀av一区二区三区| 亚洲精品日本| 亚洲精品影视| 精品视频国内| 首页国产欧美日韩丝袜| 精品国产欧美日韩| 91成人精品视频| 国产精品流白浆在线观看| 欧美日韩精品一区二区视频| 欧美日韩视频免费看| 久久精品播放| 国产精品亚洲欧美| 欧美日韩国产高清| 国产成年精品| 日韩高清电影一区| 色婷婷狠狠五月综合天色拍| 1024精品一区二区三区| 日韩中文字幕1| 欧美激情另类| 国产精品久久乐| 一级成人国产| 国产高清久久| 久久五月天小说| 日韩大片在线播放| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 麻豆久久精品| 欧美不卡高清| 亚洲激情五月| 国产欧美日韩一级| 青青国产91久久久久久| 免费欧美日韩| 日韩影院在线观看| 香蕉久久国产| 免费观看在线综合| 99视频精品| 亚洲综合小说| 日本午夜精品视频在线观看| 蜜桃av一区二区三区电影| 首页亚洲欧美制服丝腿| 蜜桃久久久久久久| 亚洲精品极品| 国产麻豆一区二区三区精品视频| 日韩欧美高清一区二区三区| 久久视频一区| 日韩国产一区二区|