前端面試題 陣列去重和排序

2022-09-24 01:30:12 字數 785 閱讀 9295

首先,不好意思,我昨天偷懶了,沒有更新面試題,今日補上昨日的鍋。

基於上次的物件轉化題目,不少同學指出物件種的陣列如果長度不一樣,不能滿足功能,所以針對這個進行優化,**如下所示:

如果你有不同的方法,或者更好的方法請來信(email:[email protected]

這裡需要注意的是:

1.封裝函式的入參型別判斷,並且給出友好的提示,比如警告,或者入參示例

2.使用for in 遍歷物件會遍歷原型鏈,需要我們判斷一下

3.對於遍歷中新生成的陣列要判斷是否有沒有

4.開發**中除錯時,盡量使用console.log()來列印值,減少alert()使用

5.封裝外掛程式要寫好readme,或者在js中寫好注釋

6.可以的化,建議使用包管理,實現安裝操作,即npm發布

進入陣列去重的操作,看一下題目

這道題的考查點:

1.陣列的合併

2.陣列排序

3.陣列去重

首先我們進入es6快速實現的過程,定義乙個箭頭函式,使用new set 合併陣列,再用sort方法去排序,最後array.from生成新的陣列,就可以搞定了

第二種:常規的方法es5

如果降序的話的第二種互動sort中y-x就好了

注意:1.這裡我們沒有判斷入參型別,需要呼叫函式時注意一下,需要是陣列型別

2.日常開發中,前端和後端會約定資料型別,一般不會改變型別,所以我們可以省略型別判斷,減少資料處理的時間

3.需要考慮的點,上面陣列量資料過大如何處理,如何快速排序

2019-3-6面試題

前端面試 陣列去重

法一 indexof迴圈去重 function unique1 arr return newarr console.log unique1 1,2,3,1,2,3,a a b 結果是 1,2,3,a b 法二 es6 set去重 array.from new set array function u...

前端面試 陣列去重

方法1 重點是陣列相鄰的數進行比較,如果沒有相等的話就push進去 如果有相等的話,再比較下兩個相鄰的數,沒有有沒有相等的話就push進去 array.prototype.quchong function a for var i 0 ia 1,2,3,2,1,4 console.log a.quch...

array 前端面試題 JS陣列的前端面試題

關於陣列的前端面試題 如何判斷乙個變數是否為陣列?為什麼不用 typeof var list 1,2,3 typeof list object array 繼承與object 所以typeof 會直接返回 object 所以不可以用 typeof 方法來檢測 為什麼不用 instanceof?var...