亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Javascript 去除數(shù)組的重復(fù)元素

 更新時(shí)間:2010年05月04日 17:20:58   作者:  
在js中,如何去除指定數(shù)組中的重復(fù)元素?
我打開firebug的console,花了30秒想,30秒寫,結(jié)果如下:(x為目標(biāo)數(shù)組,y是去除重復(fù)元素后的結(jié)果)
復(fù)制代碼 代碼如下:

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());

答案不是唯一的,而且沒有標(biāo)準(zhǔn)答案,所以上面的代碼是對(duì)的也是錯(cuò)的。如果數(shù)組是一個(gè)復(fù)雜對(duì)象數(shù)組呢?如果數(shù)組中包含多個(gè)空對(duì)象{}呢?要知道js里面有很多特殊甚至是bug的現(xiàn)象,alert({}=={})看看怎么回事...

注:如果誰有標(biāo)準(zhǔn)答案歡迎評(píng)論里面發(fā)下讓大家學(xué)習(xí)學(xué)習(xí)。

出題者本身就不會(huì)考慮到這些問題。

不要去學(xué)習(xí)做題,在實(shí)際工作中遇到問題時(shí)高效解決問題的能力才是真正有價(jià)值的。

需要注意的地方補(bǔ)充:

有個(gè)問題應(yīng)該注意下
arr[j]==i 您這里貌似 是指當(dāng)數(shù)組元素 為number類型時(shí)的相等性判斷...
但是往往我們可能要對(duì)不同類型做 相等性判斷... 這個(gè)是實(shí)際應(yīng)用時(shí)應(yīng)該考慮的問題

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

0=="0" 的情況 等等

所以 顯然 簡單的== 和===都是不合適的.
應(yīng)該獨(dú)立實(shí)現(xiàn)一個(gè) equals 方法 做相等性判斷... 要根據(jù)需求 設(shè)置規(guī)則

我舉的例子正是針對(duì)number類型的數(shù)組的,目的是對(duì)“面試啥做題”表達(dá)一種態(tài)度。實(shí)際應(yīng)用中應(yīng)該根據(jù)實(shí)際需求去考慮。除非實(shí)際工作中要求或者我是個(gè)js學(xué)術(shù)研究者,否則我是不會(huì)獨(dú)立去實(shí)現(xiàn)一個(gè)equals方法的。國外的開發(fā)員往往遵循一個(gè)信條:“Do The Simplest Thing That Could Possibly Work”,意思大概即“不要過度設(shè)計(jì),適用至上”,我這幾年的工作經(jīng)驗(yàn)也常常印證著這個(gè)道理。不知道你怎么看。

相關(guān)文章

  • 微信小程序?qū)W習(xí)之wxs使用教程

    微信小程序?qū)W習(xí)之wxs使用教程

    這篇文章主要給大家介紹了關(guān)于微信小程序?qū)W習(xí)之wxs使用教程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • TypeScript之調(diào)用棧的實(shí)現(xiàn)

    TypeScript之調(diào)用棧的實(shí)現(xiàn)

    這篇文章主要介紹了TypeScript之調(diào)用棧的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • JavaScript encodeURI 和encodeURIComponent

    JavaScript encodeURI 和encodeURIComponent

    encodeURI和encodeURIComponet函數(shù)都是javascript中用來對(duì)URI進(jìn)行編碼,將相關(guān)參數(shù)轉(zhuǎn)換成UTF-8編碼格式的數(shù)據(jù)。URI在進(jìn)行定位跳轉(zhuǎn)時(shí),參數(shù)里面的中文、日文等非ASCII編碼都會(huì)進(jìn)行編碼轉(zhuǎn)換
    2015-12-12
  • 原生js實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)代碼分享

    原生js實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)代碼分享

    這篇文章主要介紹了原生js實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)功能以及代碼分享,對(duì)此有需要的朋友可以參考學(xué)習(xí)下。
    2018-02-02
  • 原生js添加節(jié)點(diǎn)appendChild、insertBefore方式

    原生js添加節(jié)點(diǎn)appendChild、insertBefore方式

    這篇文章主要介紹了原生js添加節(jié)點(diǎn)appendChild、insertBefore方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 詳解PHP中pathinfo()函數(shù)導(dǎo)致的安全問題

    詳解PHP中pathinfo()函數(shù)導(dǎo)致的安全問題

    這篇文章主要給大家介紹了PHP中pathinfo()函數(shù)導(dǎo)致的安全問題,文中給出了詳細(xì)的介紹與示例代碼,相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下,下面來一起看看吧。
    2017-01-01
  • 半角全角相互轉(zhuǎn)換的js函數(shù)

    半角全角相互轉(zhuǎn)換的js函數(shù)

    全角空格為12288,半角空格為32 其他字符半角(33-126)與全角(65281-65374)的對(duì)應(yīng)關(guān)系是:均相差65248 .
    2009-10-10
  • 深入學(xué)習(xí)Bootstrap表單

    深入學(xué)習(xí)Bootstrap表單

    這篇文章主要為大家詳細(xì)介紹了Bootstrap表單的基礎(chǔ)知識(shí),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 用js實(shí)現(xiàn)手把手教你月入萬刀(轉(zhuǎn)貼)

    用js實(shí)現(xiàn)手把手教你月入萬刀(轉(zhuǎn)貼)

    用js實(shí)現(xiàn)手把手教你月入萬刀(轉(zhuǎn)貼)...
    2007-11-11
  • javascript 二進(jìn)制運(yùn)算技巧解析

    javascript 二進(jìn)制運(yùn)算技巧解析

    javascript 中的二進(jìn)制運(yùn)算的一些技巧,曬出來和你們分享一下,希望可以幫助你們
    2012-11-11

最新評(píng)論