Js面試題(一) js實現陣列去重怎麼實現?

2021-09-26 07:45:44 字數 2158 閱讀 9697

方法1、建立乙個新的臨時陣列來儲存陣列中已有的元素

方法2、使用雜湊表儲存已有元素

方法3、使用indexof判斷陣列元素第一次出現的位置是否為當前位置

方法4、先排序再去重

第一種方法和第三種方法都使用了indexof(),這個函式的執行機制也會遍歷陣列

第二種使用了雜湊表,是最快的

第三種也有乙個排序的複雜度的計算

詳細**如下:

147

1013

3334

<

script

>

35vara =

;36for(

vari =0

; i

<

1000000

; i++

) 39

array.prototype.unique1

=function

() 46}47

return

n;48}49

array.prototype.unique2

=function

() 58}59

return

n;60}61

array.prototype.unique3

=function

() 69}70

return

n;71}72

array.prototype.unique4

=function

() );

76varn =

[this[0

]];77

for(

vari =1

; i

<

this

.length; i

++) 81}

82return

n;83}84

varbegin1

=new

date();

85a.unique1();

86var

end1

=new

date();

87console.log(''

+(end1

-begin1));

88var

begin2

=new

date();

89a.unique2();

90var

end2

=new

date();

91console.log(''

+(end2

-begin2));

92var

begin3

=new

date();

93a.unique3();

94var

end3

=new

date();

95console.log(''

+(end3

-begin3));

96var

begin4

=new

date();

97a.unique4();

98var

end4

=new

date();

99console.log(''

+(end4

-begin4));

100script

>

四種方法執行時間如下:

就分享到這些,下次繼續···

js陣列去重 面試題

首先再講陣列去重之前,先引進乙個小的知識點indexof indexof 方法可返回某個指定的字串值在字串中首次出現的位置,eg如下 var arr 1 2,3 4,5 var index arr.indexof 1 1,3,5 console.log index index 輸出的是0 2 4 v...

JS 陣列去重實現,一道面試題

今日去某公司面試web前端,本來對這個公司感覺一般,但是技術面試兩面一共從下午2 30到5 30,各種問題問,主要以js為主,頓時對這個公司有了好的印象,個人感覺面試的水平高最起碼表明乙個公司的態度。問的還算是很給力,都是一般不幾個常用到的,但是想一想確實還挺實用,有了這次思路,下次自己玩前端的時候...

JS實現陣列去重

方法一,利用物件屬性不能相同的方法進行去重 array.prototype.distinct function result len arr.length for i 0 i arr.length i return result var a 1,2,3,4,5,6,5,3,2,4,56,4,1,2,...