欧美一级精品免费播放-亚洲精品久久久久久人妖-中文字幕一区二区精品在线-国产精品亚洲一区二区在 色天天综合色天天久久婷婷_日韩綜合网_精品国产香蕉伊思人在线_99视频国产在线观看播放

注冊|登錄

聯(lián)系電話:024-31891684  13390130939
沈陽軟件公司--沈陽軟件定制

沈陽軟件開發(fā)_沈陽軟件公司_沈陽軟件定制/軟件/最新技術(shù)

Latest technology最新技術(shù)

兩種常用的javascript數(shù)組去重方法

瀏覽量:3894

第一種是比較常規(guī)的方法

思路:
1.構(gòu)建一個新的數(shù)組存放結(jié)果
2.for循環(huán)中每次從原數(shù)組中取出一個元素,用indexOf查找新數(shù)組中是否有該元素
3.若沒有,則存到結(jié)果數(shù)組中

 

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())

此基礎(chǔ)上可以略微優(yōu)化,但原理不變,效果也不明顯

 

01

Array.prototype.unique1 = function(){

02

varres = [this[0]];//直接將原數(shù)組中的第一個元素存入構(gòu)建的新數(shù)組中

 

 

03

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

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.先將原數(shù)組進(jìn)行排序
2.檢查原數(shù)組中的第i個元素 與 結(jié)果數(shù)組中的最后一個元素是否相同,因為已經(jīng)排序,所以重復(fù)元素會在相鄰位置
3.如果不相同,則將該元素存入結(jié)果數(shù)組中

 

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())

沈陽團(tuán)購網(wǎng)|營口網(wǎng)站制作|沈陽軟件公司|軟件定制|網(wǎng)站建設(shè)|加盟易勢|提交問題