刪除數(shù)組條目中重復(fù)的條目(可能有多個),返回值是一個僅包含被刪除的重復(fù)條目的新數(shù)組。
更新時間:2007年09月29日 19:33:23 作者:
今日在bluediea看到淘寶在線招聘,相信淘寶的技術(shù)還是很牛的,于是趕緊打開看看題目并試著做做。
到了第三題時卡了偶老半天,并不是做不出來,感覺有很簡便的方法但自己就是一時想不出來,不過費了九牛二虎之力終于完成本題,給出了一個另自己還比較滿意的答案,歡迎各位朋友指點!
題目如下:
請給Array本地對象增加一個原型方法,它的用途是刪除數(shù)組條目中重復(fù)的條目(可能有多個),返回值是一個僅包含被刪除的重復(fù)條目的新數(shù)組。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
Array.prototype.delRepeat=function()
{
var tmpArr=[],rs=[],i,val;
for(i=this.length;i>0;i--)
{
val = this[i-1];
if(!tmpArr[val])
{
tmpArr[val]=1;
}else
{
rs.push(val);
this.splice(i-1,1);
}
}
tmpArr = null;
return rs;
}
兩個優(yōu)點:
1、預(yù)先將this[i-1]保存在變量val中,減少訪問次數(shù)。
2、使用array.push方法,替換用變量保存數(shù)組長度的辦法。
很好!贊一個!
偶還順便實現(xiàn)了對返回重復(fù)項的過濾,可能是對題意理解有偏差。
到了第三題時卡了偶老半天,并不是做不出來,感覺有很簡便的方法但自己就是一時想不出來,不過費了九牛二虎之力終于完成本題,給出了一個另自己還比較滿意的答案,歡迎各位朋友指點!
題目如下:
請給Array本地對象增加一個原型方法,它的用途是刪除數(shù)組條目中重復(fù)的條目(可能有多個),返回值是一個僅包含被刪除的重復(fù)條目的新數(shù)組。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
復(fù)制代碼 代碼如下:
Array.prototype.delRepeat=function()
{
var tmpArr=[],rs=[],i,val;
for(i=this.length;i>0;i--)
{
val = this[i-1];
if(!tmpArr[val])
{
tmpArr[val]=1;
}else
{
rs.push(val);
this.splice(i-1,1);
}
}
tmpArr = null;
return rs;
}
兩個優(yōu)點:
1、預(yù)先將this[i-1]保存在變量val中,減少訪問次數(shù)。
2、使用array.push方法,替換用變量保存數(shù)組長度的辦法。
很好!贊一個!
偶還順便實現(xiàn)了對返回重復(fù)項的過濾,可能是對題意理解有偏差。
相關(guān)文章
javascript在IE下trim函數(shù)無法使用的解決方法
這篇文章主要介紹了javascript在IE下trim函數(shù)無法使用的解決方法,分別敘述了javascript以及jQuery下的解決方案,對于WEB前端javascript設(shè)計人員進行瀏覽器兼容性調(diào)試有不錯的借鑒價值,需要的朋友可以參考下2014-09-09
淺談laytpl 模板空值顯示null的解決方法及簡單的js表達式
今天小編就為大家分享一篇淺談laytpl 模板空值顯示null的解決方法及簡單的js表達式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
javascript中setAttribute()函數(shù)使用方法及兼容性
這篇文章主要介紹了javascript中setAttribute()函數(shù)使用方法及兼容性的相關(guān)資料,需要的朋友可以參考下2015-07-07
next.js之getStaticProps?getStaticPaths使用技巧解析
這篇文章主要為大家介紹了next.js之getStaticProps?getStaticPaths使用技巧解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06

