Javascript實踐-去除數組的重複元素

來源:互聯網
上載者:User

在js中,如何去除指定數組中的重複元素?

這個是xx.com web前端開發的一道題,LEVIN當時知道要做題的時候,本來想直接走人的,後來想想算了,既然是朋友介紹的,總不能耍大牌。現在在這裡順便扯扯對面試做題的看法,評論裡面保留大家的發言權利哈哈。

其實我討厭做題和討厭應試教育一樣,這種東東某種程度上可以檢驗某個人咋地咋地,但在很大程度上過於形式。要真正看一個人怎麼樣,看看他之前做過的作品,或者直接讓他做幾道上機題還好點。當時抱著這樣一種心態,試題自然草草做了一遍。。。現在想想那些題目,很簡單的,就是實際工作中不大會用到。。即使臨時要用到,思考之後沒有頭緒的話也有google大神在,當然你摒棄google願意獨自刨根問底也行,這個是瞭解和解決問題的方式的選擇問題,因人而異。目的是一致的:瞭解問題,解決問題,並掌握解決問題的方法。我個人更願意站在前人的肩膀上看問題。

 

好了,回來說說這個js題目,我開啟firebug的console,花了30秒想,30秒寫,結果如下:(x為目標數組,y是去除重複元素後的結果)

 

代碼

var x=[1,1,3,4,5,3];
var y=[];
var tArray=function(i,arr){
var yap=false;
for(var j=0;j<arr.length;j++){
if(arr[j]==i){yap=true;break;};
}
if(!yap) arr.push(i);
};
for(var t=0;t<x.length;t++){
tArray(x[t],y);
}
alert(y.length);
alert(y.toString());

 

答案不是唯一的,而且沒有標準答案,所以上面的代碼是對的也是錯的。如果數組是一個複雜物件數組呢?如果數組中包含多個Null 物件{}呢?要知道js裡面有很多特殊甚至是bug的現象,alert({}=={})看看怎麼回事...

註:如果誰有標準答案歡迎評論裡面發下讓大家學習學習。

出題者本身就不會考慮到這些問題。

不要去學習做題,在實際工作中遇到問題時高效解決問題的能力才是真正有價值的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.