刪除數(shù)組條目中重復(fù)的條目(可能有多個(gè)),返回值是一個(gè)僅包含被刪除的重復(fù)條目的新數(shù)組。
到了第三題時(shí)卡了偶老半天,并不是做不出來(lái),感覺(jué)有很簡(jiǎn)便的方法但自己就是一時(shí)想不出來(lái),不過(guò)費(fèi)了九牛二虎之力終于完成本題,給出了一個(gè)另自己還比較滿意的答案,歡迎各位朋友指點(diǎn)!
題目如下:
請(qǐng)給Array本地對(duì)象增加一個(gè)原型方法,它的用途是刪除數(shù)組條目中重復(fù)的條目(可能有多個(gè)),返回值是一個(gè)僅包含被刪除的重復(fù)條目的新數(shù)組。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(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;
}
兩個(gè)優(yōu)點(diǎn):
1、預(yù)先將this[i-1]保存在變量val中,減少訪問(wèn)次數(shù)。
2、使用array.push方法,替換用變量保存數(shù)組長(zhǎng)度的辦法。
很好!贊一個(gè)!
偶還順便實(shí)現(xiàn)了對(duì)返回重復(fù)項(xiàng)的過(guò)濾,可能是對(duì)題意理解有偏差。
相關(guān)文章
關(guān)于localStorage的存儲(chǔ),讀取,刪除
這篇文章主要介紹了關(guān)于localStorage的存儲(chǔ),讀取,刪除方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04輸入自動(dòng)提示搜索提示功能的使用說(shuō)明:sugggestion.txt
該js文件中的代碼實(shí)現(xiàn)了[輸入自動(dòng)搜索提示]功能,如百度、google搜索框中輸入一些字符會(huì)以下拉列表形式給出一些提示,提高了用戶體驗(yàn)2013-09-09js實(shí)現(xiàn)頁(yè)面刷新滾動(dòng)條位置不變
本文介紹了js實(shí)現(xiàn)頁(yè)面刷新滾動(dòng)條位置不變的實(shí)例代碼,需要的朋友可以看下2016-11-11layui實(shí)現(xiàn)數(shù)據(jù)分頁(yè)功能(ajax異步)
這篇文章主要為大家詳細(xì)介紹了layui實(shí)現(xiàn)數(shù)據(jù)分頁(yè)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07JavaScript?error瀏覽器端錯(cuò)誤捕獲處理方法筆記解決示例
這篇文章主要為大家介紹了JavaScript?error瀏覽器端錯(cuò)誤捕獲處理方法筆記解決示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06select標(biāo)簽設(shè)置默認(rèn)選中的選項(xiàng)方法
下面小編就為大家分享一篇select標(biāo)簽設(shè)置默認(rèn)選中的選項(xiàng)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03Javascript拖拽系列文章1之offsetParent屬性
這個(gè)系列文章主要是講述實(shí)現(xiàn)Javascript拖拽功能的基礎(chǔ)知識(shí),并將在最后給出一個(gè)完整的示例。適合對(duì)拖拽完全不懂的人閱讀2008-09-09webpack構(gòu)建vue項(xiàng)目的詳細(xì)教程(配置篇)
本篇文章主要介紹了webpack構(gòu)建vue項(xiàng)目的詳細(xì)教程(配置篇),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07