基于JavaScript實現(xiàn)移除(刪除)數(shù)組中指定元素
在Array對象中有給定的函數(shù)可以刪除數(shù)組中指定的元素,雖然非常好用,但是總感覺看不到摸不著的比較別扭,下面就分享一個自定義的刪除數(shù)組指定索引值元素的函數(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));
以上代碼中,聲明一個remove()函數(shù),此函數(shù)具有兩個參數(shù),第一個參數(shù)是數(shù)組對象,第二個參數(shù)是要刪除數(shù)組元素的索引值,所以上面的代碼能夠刪除數(shù)組中的第三個元素,并輸出刪除元素戶的數(shù)組。實現(xiàn)的原理也非常的簡單,做一下簡單的介紹:
remove()函數(shù)首先判斷傳入的索引值是否大約數(shù)組的最大索引值array.length-1,如果大于則拋出錯誤,否則的話則將使用for循環(huán)從索引值i開始進行遍歷,將索引值為i的數(shù)組值設(shè)置為低i+1項的,依次類推,原理大體如此,如有任何問題可以跟帖留言。
ps:js刪除數(shù)組指定元素
var a = new Array("a","b","cc","d3"); //刪除a數(shù)組的cc元素 //jQuery.inArray()函數(shù)用于在數(shù)組中搜索指定的值,并返回其索引值。如果數(shù)組中不存在該值,則返回 -1。 該函數(shù)屬于全局jQuery對象。 jquery 1.2中添加的該靜態(tài)方法 var index = $.inArray("cc",a); if(index>=0){ //arrayObject.splice(index,howmany,item1,.....,itemX) //參數(shù) 描述 //index 必需。整數(shù),規(guī)定添加/刪除項目的位置,使用負數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。 //howmany 必需。要刪除的項目數(shù)量。如果設(shè)置為 0,則不會刪除項目。 //item1, ..., itemX 可選。向數(shù)組添加的新項目。 a.splice(index,1); alert(a.toString()); }else{ alert("error"); return false; }
相關(guān)文章
javascript 3d 逐偵產(chǎn)品展示(核心精簡)
這篇文章主要介紹了javascript實現(xiàn)的3d逐偵產(chǎn)品展示,需要的朋友可以參考下2014-03-03JavaScript中關(guān)于for循環(huán)刪除數(shù)組元素內(nèi)容時出現(xiàn)的問題
昨天在用for循環(huán)進行數(shù)組去重的時候出現(xiàn)的問題小結(jié),怎么解決這個問題呢,今天小編通過本文給大家講解下js循環(huán)刪除數(shù)組元素的方法,一起看看吧2016-11-11