麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > JavaScript > 正文

Javascript 去除數組的重復元素

2024-05-06 14:10:11
字體:
來源:轉載
供稿:網友
我打開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());

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

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

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

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

需要注意的地方補充:

有個問題應該注意下
arr[j]==i 您這里貌似 是指當數組元素 為number類型時的相等性判斷...
但是往往我們可能要對不同類型做 相等性判斷... 這個是實際應用時應該考慮的問題

1!=new Number(1)的情況
null==undefined 的情況

0=="0" 的情況 等等

所以 顯然 簡單的== 和===都是不合適的.
應該獨立實現一個 equals 方法 做相等性判斷... 要根據需求 設置規則

我舉的例子正是針對number類型的數組的,目的是對“面試啥做題”表達一種態度。實際應用中應該根據實際需求去考慮。除非實際工作中要求或者我是個js學術研究者,否則我是不會獨立去實現一個equals方法的。國外的開發員往往遵循一個信條:“Do The Simplest Thing That Could Possibly Work”,意思大概即“不要過度設計,適用至上”,我這幾年的工作經驗也常常印證著這個道理。不知道你怎么看。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 制服丝袜成人动漫 | 国产91一区二区三区 | 国产又白又嫩又紧又爽18p | 欧美日韩国产中文字幕 | 久久精品亚洲精品国产欧美kt∨ | 91网页| 欧美日韩电影在线 | 黄色片免费在线播放 | 成人一区二区三区在线 | 欧美日韩亚洲另类 | 久久精品一区二区三区国产主播 | 免费在线观看一级片 | 亚洲午夜在线视频 | 日本免费一区二区三区四区 | 成人一级毛片 | 成人福利视频网站 | 成人三级电影网址 | 成年人在线视频 | 欧美精品一级片 | 国产精彩视频在线 | 欧美一级特黄aaaaaaa什 | 一级做人爱c黑人影片 | 国产精品免费一区二区 | 国产成人在线网址 | 亚洲网站在线观看视频 | japan护士性xxxⅹhd | 99ri精品| 国产成人精品一区二区三区电影 | 狠狠色成色综合网 | 毛片免费视频观看 | av在线试看 | 一级毛片在线免费观看 | 日韩视频一 | 免费看成人av | 成年免费大片黄在线观看岛国 | 欧美激情天堂 | 亚洲最大的成人网 | 成人444kkkk在线观看 | 欧美一级片网站 | 欧美三级日本三级少妇99 | 欧美 国产 亚洲 卡通 综合 |