時隔近一年了,想到當初為了面試而刻苦用功的看面試題,真是感慨萬千。
如今瀏覽演算法題時又遇到了此題,原來考察的居然是對於物件的理解。。。
其實當初真不知道,陣列去重,用的是迴圈加一遍一遍 == 的判斷,這裡暗自慶幸,得虧沒遇到考這道題的,不然一輩子都夠嗆能找到工作。
既然考察的是對物件的理解,那麼就用物件來實現去重。比如輸入: [1,13,24,11,11,14,1,2]
輸出: [1,13,24,11,14,2]
需要去掉重複的11 和 1 這兩個元素。
var arr = [1,2,3,3,4,5,5,6,7,7];var obj ={} ;
//首先迴圈將元素值壓入作為物件的屬性
for(var i = 0; i < arr.length; i ++)
var newarr =;
//其次迴圈物件屬性壓入新陣列
for(var j in
obj)
console.log(newarr);
就是這麼的簡單,回首以前的難題,真的都迎刃而解了,但也發現了知識海洋的廣闊,真應了當初老師的一句話:學到的越多,會的越少。
前端面試 陣列去重
法一 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...
前端面試常考陣列去重方法
站在巨人的肩膀上,利用set集合的屬性實現去重 function unique arr console.log array.from new set 1 4,5 5 通過定義新陣列來實現陣列去重,可通過陣列的includes 或者indexof方法判斷數值是否屬於新陣列 let a 1 2,2 3,...