基于JavaScript實(shí)現(xiàn)移除(刪除)數(shù)組中指定元素
在Array對(duì)象中有給定的函數(shù)可以刪除數(shù)組中指定的元素,雖然非常好用,但是總感覺(jué)看不到摸不著的比較別扭,下面就分享一個(gè)自定義的刪除數(shù)組指定索引值元素的函數(shù),希望給大家一個(gè)全新的思路。
代碼實(shí)例如下:
var array=[]; array[0]="腳本之家一"; array[1]="腳本之家二"; array[2]="腳本之家三"; array[3]="腳本之家四"; array[4]="腳本之家五"; function remove(array,index) { if(index<=(array.length-1)) { for(var i=index;i<array.length;i++) { array[i]=array[i+1]; } } else { throw new Error('超出最大索引!'); } array.length=array.length-1; return array; } document.write(remove(array,2));
以上代碼中,聲明一個(gè)remove()函數(shù),此函數(shù)具有兩個(gè)參數(shù),第一個(gè)參數(shù)是數(shù)組對(duì)象,第二個(gè)參數(shù)是要?jiǎng)h除數(shù)組元素的索引值,所以上面的代碼能夠刪除數(shù)組中的第三個(gè)元素,并輸出刪除元素戶的數(shù)組。實(shí)現(xiàn)的原理也非常的簡(jiǎn)單,做一下簡(jiǎn)單的介紹:
remove()函數(shù)首先判斷傳入的索引值是否大約數(shù)組的最大索引值array.length-1,如果大于則拋出錯(cuò)誤,否則的話則將使用for循環(huán)從索引值i開(kāi)始進(jìn)行遍歷,將索引值為i的數(shù)組值設(shè)置為低i+1項(xiàng)的,依次類(lèi)推,原理大體如此,如有任何問(wèn)題可以跟帖留言。
ps:js刪除數(shù)組指定元素
var a = new Array("a","b","cc","d3"); //刪除a數(shù)組的cc元素 //jQuery.inArray()函數(shù)用于在數(shù)組中搜索指定的值,并返回其索引值。如果數(shù)組中不存在該值,則返回 -1。 該函數(shù)屬于全局jQuery對(duì)象。 jquery 1.2中添加的該靜態(tài)方法 var index = $.inArray("cc",a); if(index>=0){ //arrayObject.splice(index,howmany,item1,.....,itemX) //參數(shù) 描述 //index 必需。整數(shù),規(guī)定添加/刪除項(xiàng)目的位置,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。 //howmany 必需。要?jiǎng)h除的項(xiàng)目數(shù)量。如果設(shè)置為 0,則不會(huì)刪除項(xiàng)目。 //item1, ..., itemX 可選。向數(shù)組添加的新項(xiàng)目。 a.splice(index,1); alert(a.toString()); }else{ alert("error"); return false; }
相關(guān)文章
javascript 實(shí)現(xiàn)頁(yè)面加載進(jìn)度條代碼
javascript 實(shí)現(xiàn)頁(yè)面加載進(jìn)度條代碼,需要的朋友可以參考下。2010-04-04QRCode.js二維碼生成并能長(zhǎng)按識(shí)別
這篇文章主要為大家詳細(xì)介紹了QRCode.js二維碼生成并能長(zhǎng)按識(shí)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10前端算法題解leetcode114二叉樹(shù)展開(kāi)為鏈表
這篇文章主要為大家介紹了前端算法題解leetcode114二叉樹(shù)展開(kāi)為鏈表,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09前端echarts加標(biāo)記點(diǎn)及標(biāo)記線和提示框詳細(xì)代碼示例
ECharts中的標(biāo)記線是一條平行于x軸的水平線,有最大值、最小值、平均值等數(shù)據(jù)的標(biāo)記線,它也是在series字段下進(jìn)行配置的,下面這篇文章主要給大家介紹了關(guān)于前端echarts加標(biāo)記點(diǎn)及標(biāo)記線和提示框的相關(guān)資料,需要的朋友可以參考下2024-06-06javascript 3d 逐偵產(chǎn)品展示(核心精簡(jiǎn))
這篇文章主要介紹了javascript實(shí)現(xiàn)的3d逐偵產(chǎn)品展示,需要的朋友可以參考下2014-03-03JavaScript中關(guān)于for循環(huán)刪除數(shù)組元素內(nèi)容時(shí)出現(xiàn)的問(wèn)題
昨天在用for循環(huán)進(jìn)行數(shù)組去重的時(shí)候出現(xiàn)的問(wèn)題小結(jié),怎么解決這個(gè)問(wèn)題呢,今天小編通過(guò)本文給大家講解下js循環(huán)刪除數(shù)組元素的方法,一起看看吧2016-11-11