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

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

js數(shù)組去重的11種方法

瀏覽:236日期:2024-04-01 08:04:15

在實(shí)際工作或面試中,我們經(jīng)常會(huì)遇到“數(shù)組去重”問題,接下來就是使用js實(shí)現(xiàn)的數(shù)組去重的多種方法:

1.將數(shù)組的每一個(gè)元素依次與其他元素做比較,發(fā)現(xiàn)重復(fù)元素,刪除

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5,5,5,5]; console.log(arr); //[1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5, 5, 5, 5] function noRepeat1(arr) {for(var i = 0; i < arr.length-1; i++){ for(var j = i+1; j < arr.length; j++){if(arr[i]===arr[j]){ arr.splice(j,1); j--;} }}return arr; } var arr2 = noRepeat1(arr); console.log(arr2); //[1, 23, 3, 5, 6, 7, 9, 8]

2.借助indexOf()方法判斷此元素在該數(shù)組中首次出現(xiàn)的位置下標(biāo)與循環(huán)的下標(biāo)是否相等

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5,5,5]; console.log(arr); //[1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5, 5, 5] function noRepeat2(arr) {for (var i = 0; i < arr.length; i++) { if (arr.indexOf(arr[i]) != i) {arr.splice(i,1);//刪除數(shù)組元素后數(shù)組長(zhǎng)度減1后面的元素前移i--;//數(shù)組下標(biāo)回退 }}return arr; } var newArr = noRepeat2(arr); console.log(newArr); //[1, 23, 3, 5, 6, 7, 9, 8]

3.利用數(shù)組中的filter方法

var arr = [’apple’,’banana’,’pear’,’apple’,’orange’,’orange’];console.log(arr) //['apple', 'banana', 'pear', 'apple', 'orange', 'orange']var newArr = arr.filter(function(value,index,self){ return self.indexOf(value) === index;});console.log(newArr); //['apple', 'banana', 'pear', 'orange']

4.借助新數(shù)組 通過indexOf方判斷當(dāng)前元素在數(shù)組中的索引如果與循環(huán)的下標(biāo)相等則添加到新數(shù)組中

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5,5,5]; console.log(arr) //[1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5, 5, 5] function noRepeat4(arr) {var ret = [];for (var i = 0; i < arr.length; i++) { if (arr.indexOf(arr[i]) == i) {ret.push(arr[i]); }}return ret; } var arr2 = noRepeat4(arr); console.log(arr2); //[1, 23, 3, 5, 6, 7, 9, 8]

5.利用空對(duì)象來記錄新數(shù)組中已經(jīng)存儲(chǔ)過的元素

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5]; console.log(arr) //[1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5] var obj={}; var newArr=[]; for(var i=0;i<arr.length;i++){if(!obj[arr[i]]){ obj[arr[i]]=true; newArr.push(arr[i]);} } console.log(newArr); //[1, 23, 3, 5, 6, 7, 9, 8]

6.借助新數(shù)組,判斷新數(shù)組中是否存在該元素如果不存在則將此元素添加到新數(shù)組中

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5]; console.log(arr); //[1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5] function noRepeat6(arr){var newArr = [];for(var i = 0; i < arr.length; i++){ if(newArr.indexOf(arr[i]) == -1){newArr.push(arr[i]); }}return newArr; } var arr2 = noRepeat6(arr); console.log(arr2); //[1, 23, 3, 5, 6, 7, 9, 8]

7.借助新數(shù)組,判斷新數(shù)組中是否存在該元素如果不存在則將此元素添加到新數(shù)組中(原數(shù)組長(zhǎng)度不變但被按字符串順序排序)

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5]; console.log(arr); //[1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5] function noRepeat7(arr) {var ret = [], end;//臨時(shí)變量用于對(duì)比重復(fù)元素arr.sort();//將數(shù)重新組排序end = arr[0];ret.push(arr[0]);for (var i = 1; i < arr.length; i++) { if (arr[i] != end) {//當(dāng)前元素如果和臨時(shí)元素不等則將此元素添加到新數(shù)組中ret.push(arr[i]);end = arr[i]; }}return ret; } var arr2 = noRepeat7(arr); console.log(arr2); //[1, 23, 3, 5, 6, 7, 8, 9]

8.此方法沒有借助新數(shù)組直接改變?cè)瓟?shù)組,并且去重后的數(shù)組被排序

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5]; console.log(arr); //[1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5] function noRepeat8(arr) {var end;//臨時(shí)變量用于對(duì)比重復(fù)元素arr.sort();//將數(shù)重新組排序end = arr[0];for (var i = 1; i < arr.length; i++) { if (arr[i] == end) {//當(dāng)前元素如果和臨時(shí)元素相等則將此元素從數(shù)組中刪除arr.splice(i,1);i--; }else{end = arr[i]; }}return arr; } var arr2 = noRepeat8(arr); console.log(arr2); //[1, 23, 3, 5, 6, 7, 8, 9]

9.雙層循環(huán)改變?cè)瓟?shù)組

var arr = [1,1,2,2,3,3,4,4,5,5,4,3,1,2,6,6,6,6]; console.log(arr); //[1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 4, 3, 1, 2, 6, 6, 6, 6] function noRepeat9(arr){for (var i = 0; i < arr.length; i++) { for (var j = 0; j < arr.length; j++) {if (arr[i] == arr[j] && i != j) {//將后面重復(fù)的數(shù)刪掉 arr.splice(j, 1);} }}return arr; } var arr2 = noRepeat9(arr); console.log(arr2); //[1, 2, 3, 4, 5, 6]

10.借助新數(shù)組

var arr = [1,1,2,2,3,3,4,4,5,5,4,3,2,1,1,1]; console.log(arr); //[1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 4, 3, 2, 1, 1, 1] var newArr = []; for (var i = 0; i < arr.length; i++) {var repArr = [];//接收重復(fù)數(shù)據(jù)后面的下標(biāo)//內(nèi)層循環(huán)找出有重復(fù)數(shù)據(jù)的下標(biāo)for (var j = i + 1; j < arr.length; j++) { if (arr[i] == arr[j]) {repArr.push(j);//找出后面重復(fù)數(shù)據(jù)的下標(biāo) }}//console.log(repArr);if (repArr.length == 0) {//若重復(fù)數(shù)組沒有值說明其不是重復(fù)數(shù)據(jù) newArr.push(arr[i]);} } console.log(newArr); //[5, 4, 3, 2, 1]

11.借助ES6提供的Set結(jié)構(gòu)

var arr = [1,1,2,2,3,3,4,4,5,5,4,3,2,1,1,1]; console.log(arr); //[1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 4, 3, 2, 1, 1, 1] function noRepeat11(arr){var newArr = [];var myset = new Set(arr);//利用了Set結(jié)構(gòu)不能接收重復(fù)數(shù)據(jù)的特點(diǎn)for(var val of myset){ newArr.push(val)}return newArr; } var arr2 = noRepeat11(arr) console.log(arr2); //[1, 2, 3, 4, 5]

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

標(biāo)簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本久久精品| 国产成人黄色| 99精品综合| 日韩高清成人| 色一区二区三区| 四虎影视精品| 久久精品成人| 国户精品久久久久久久久久久不卡| 97精品中文字幕| av综合电影网站| 日韩国产网站| 午夜久久福利| 蜜臀久久99精品久久久画质超高清 | 欧美国产极品| 国产精品欧美在线观看| 国产精一区二区| 麻豆国产精品| 色在线视频观看| 久久精品高清| 99成人在线| 蜜桃av一区二区三区电影| 亚洲欧美网站在线观看| 蜜臀va亚洲va欧美va天堂| 亚洲一区二区三区久久久| 日韩av资源网| 精品一区二区三区在线观看视频| 国产a亚洲精品| 成人精品天堂一区二区三区| 国产专区一区| 中文视频一区| 欧美国产先锋| 亲子伦视频一区二区三区| 在线视频精品| 欧美精品影院| 国产欧洲在线| 亚洲一区国产| 国产精品巨作av| 国产一区二区三区不卡视频网站 | 精品欧美激情在线观看| 亚洲精品极品少妇16p| 亚洲综合不卡| 欧美久久一区二区三区| 久久精品系列| 久久精品影视| 蜜桃av一区二区三区电影| 欧美一区网站| 伊人久久在线| 免费人成黄页网站在线一区二区| 国产精品白浆| 国产一区日韩一区| 亚洲精品麻豆| 给我免费播放日韩视频| 一区在线视频观看| 欧美午夜网站| 久久毛片亚洲| 亚洲精选91| 精品五月天堂| 好看的亚洲午夜视频在线| 无码日韩精品一区二区免费| 精品香蕉视频| 久久高清国产| 美女视频免费精品| 尤物精品在线| 麻豆国产欧美日韩综合精品二区| 久久久久久黄| 日韩午夜视频在线| www.com.cn成人| 亚洲区欧美区| 日韩欧美精品一区| 日韩在线网址| 亚洲欧洲高清| 亚洲久草在线| 欧美一区久久久| 久久亚洲一区| 黄色在线观看www| 亚洲午夜免费| 视频福利一区| 国产麻豆一区二区三区| 影音先锋国产精品| 久久亚洲国产精品尤物| 玖玖玖国产精品| 欧美少妇精品| 欧美日韩一视频区二区| 中文欧美日韩| 在线一区av| 另类小说一区二区三区| 免费在线看一区| 久久久久欧美精品| 国产精品久久久网站| 亚洲电影在线一区二区三区| 精品一二三区| 日韩精品1区2区3区| 蜜桃视频欧美| 欧美国产日韩电影| 一区二区日韩免费看| 91看片一区| 欧美aⅴ一区二区三区视频| 中文一区一区三区免费在线观 | 久久福利一区| 久久久久国产| 国产精品久久观看| 国产精品亚洲综合色区韩国| 亚洲久久一区| 性欧美69xoxoxoxo| 美女免费视频一区| 国产日产一区| 亚洲理论在线| 蜜臀精品一区二区三区在线观看 | 在线看片一区| 一区在线观看| 久久精品91| 98精品视频| 精品少妇一区| 麻豆成人在线观看| 日本综合视频| 蜜臀a∨国产成人精品| 好吊视频一区二区三区四区| 久久一区二区三区电影| www.com.cn成人| 国产一区福利| 97精品中文字幕| 欧美aⅴ一区二区三区视频| 久久国际精品| 日韩精品国产欧美| 亚洲人成网77777色在线播放| 国产农村妇女精品一区二区| 亚洲国产不卡| 首页国产欧美久久| 久热综合在线亚洲精品| 黄色免费成人| 国产亚洲欧洲| 三级在线观看一区二区| 亚洲网址在线观看| 日本免费在线视频不卡一不卡二| 人人精品人人爱| 一本综合精品| 日本aⅴ亚洲精品中文乱码| 亚洲a成人v| 欧美一区不卡| 国产日韩中文在线中文字幕| 7777精品| 精品久久在线| 天堂av在线| 激情综合网五月| 伊人影院久久| 亚洲欧洲日韩| 欧美日韩 国产精品| 久久wwww| 国产一区二区三区四区二区| 国产精选在线| 欧美粗暴jizz性欧美20| 国产亚洲在线观看| 日本中文字幕不卡| 国产欧美精品| 福利一区二区免费视频 | 久久精品国内一区二区三区水蜜桃| 国产精品99一区二区| 亚洲国内精品| 在线观看亚洲精品福利片| 欧美伊人影院| 成人在线观看免费视频| 欧美手机在线| 亚洲五月综合| 久久69成人| 久久国产免费| 一区二区亚洲视频| 国产精品一级| 亚洲高清毛片| 日韩欧美中文字幕一区二区三区| 精品伊人久久| 欧美另类专区| 日韩高清不卡在线| 欧美激情 亚洲a∨综合| 国产精品专区免费| 免费欧美日韩| 国产精品久久久久毛片大屁完整版| 精品亚洲二区| 欧美日韩一区二区三区视频播放| 亚洲日本国产| 久久中文精品| 亚洲精品123区| 国产欧美69| 欧美亚洲激情| 日韩av一区二| 私拍精品福利视频在线一区| 在线看片日韩| 国产精品久久久久久久免费观看 | 精品一区二区三区在线观看视频| 欧美综合另类| 日韩va亚洲va欧美va久久| 四虎国产精品免费观看| 久久国产精品99国产| 老牛国内精品亚洲成av人片 | а√在线中文在线新版| 人人精品人人爱| 久久精品三级| 国产精品日韩久久久| 97久久超碰| 国产精品88久久久久久| 国产日韩在线观看视频|