注冊|登錄

聯系電話:024-31891684  13390130939
沈陽軟件公司--沈陽軟件定制

沈陽軟件開發_沈陽軟件公司_沈陽軟件定制/軟件/最新技術

Latest technology最新技術

兩種常用的javascript數組去重方法

瀏覽量:3853

第一種是比較常規的方法

思路:
1.構建一個新的數組存放結果
2.for循環中每次從原數組中取出一個元素,用indexOf查找新數組中是否有該元素
3.若沒有,則存到結果數組中

 

01

Array.prototype.unique1 = function(){

02

varres = [];

 

 

03

for(vari = 0; i < this.length; i++){

04

if(res.indexOf(this[i]) == -1){

 

 

05

res.push(this[i]);

06

}

 

 

07

}

08

returnres;

 

 

09

}

10

vararr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]

 

 

11

alert(arr.unique1())

此基礎上可以略微優化,但原理不變,效果也不明顯

 

01

Array.prototype.unique1 = function(){

02

varres = [this[0]];//直接將原數組中的第一個元素存入構建的新數組中

 

 

03

for(vari = 1; i < this.length; i++){//循環從第二個元素開始

04

if(res.indexOf(this[i]) == -1){

 

 

05

res.push(this[i]);

06

}

 

 

07

}

08

returnres;

 

 

09

}

10

vararr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]

 

 

11

alert(arr.unique1())

第二種方法比上面的方法效率要高

思路:
1.先將原數組進行排序
2.檢查原數組中的第i個元素 與 結果數組中的最后一個元素是否相同,因為已經排序,所以重復元素會在相鄰位置
3.如果不相同,則將該元素存入結果數組中

 

01

Array.prototype.unique2 = function(){

02

this.sort(); //先排序

 

 

03

varres = [this[0]];

04

for(vari = 1; i < this.length; i++){

 

 

05

if(this[i] !== res[res.length - 1]){

06

res.push(this[i]);

 

 

07

}

08

}

 

 

09

returnres;

10

}

 

 

11

vararr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]

12

alert(arr.unique2())

沈陽團購網|營口網站制作|沈陽軟件公司|軟件定制|網站建設|加盟易勢|提交問題

主站蜘蛛池模板: 午夜国产羞羞视频免费网站| 国产精品免费看久久久无码| 久久99精品国产免费观看| 怡红院成人在线| 日本理论片午午伦夜理片2021| 亚洲欧洲美洲无码精品VA| 91色在线视频| 好紧我太爽了视频免费国产| 亚洲午夜精品一区二区| 老子影院午夜伦手机不四虎| 国产欧美日韩综合精品一区二区 | 放荡性漫画全文免费| 亚洲1区1区3区4区产品乱码芒果 | aa级黄色毛片| 怡红院在线播放| 亚洲国产欧美精品| 进击的巨人第一季动漫樱花动漫 | 欧美视频在线观看免费| 国产乱人伦AV在线麻豆A| 四虎国产精品永久在线看| 婷婷人人爽人人爽人人片| 丰满爆乳一区二区三区| 欧美视频第二页| 人妻内射一区二区在线视频| 国产成人精品啪免费视频| 国产精品无码aⅴ嫩草| 中文免费观看视频网站| 日本19禁啪啪无遮挡免费动图| 久久青草精品一区二区三区| 欧美亚洲校园第一页| 亚洲欧美国产精品完整版| 澳门开奖结果2023开奖记录今晚直播视频 | 把极品白丝班长啪到腿软| 久久人人爽人人爽人人片dvd| 狠狠色狠狠色综合日日不卡| 国产午夜无码视频在线观看| 99视频精品全部免费观看| 日日噜噜噜夜夜爽爽狠狠| 久久精品亚洲一区二区三区浴池 | 国产精品9999久久久久| 91久久打屁股调教网站|