在Array對象中有給定的函數可以刪除數組中指定的元素,雖然非常好用,但是總感覺看不到摸不著的比較別扭,下面就分享一個自定義的刪除數組指定索引值元素的函數,希望給大家一個全新的思路。
代碼實例如下:
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()函數,此函數具有兩個參數,第一個參數是數組對象,第二個參數是要刪除數組元素的索引值,所以上面的代碼能夠刪除數組中的第三個元素,并輸出刪除元素戶的數組。實現的原理也非常的簡單,做一下簡單的介紹:
remove()函數首先判斷傳入的索引值是否大約數組的最大索引值array.length-1,如果大于則拋出錯誤,否則的話則將使用for循環從索引值i開始進行遍歷,將索引值為i的數組值設置為低i+1項的,依次類推,原理大體如此,如有任何問題可以跟帖留言。
ps:js刪除數組指定元素
var a = new Array("a","b","cc","d3");//刪除a數組的cc元素//jQuery.inArray()函數用于在數組中搜索指定的值,并返回其索引值。如果數組中不存在該值,則返回 -1。該函數屬于全局jQuery對象。 jquery 1.2中添加的該靜態方法var index = $.inArray("cc",a);if(index>=0){//arrayObject.splice(index,howmany,item1,.....,itemX)//參數 描述//index 必需。整數,規定添加/刪除項目的位置,使用負數可從數組結尾處規定位置。//howmany 必需。要刪除的項目數量。如果設置為 0,則不會刪除項目。//item1, ..., itemX 可選。向數組添加的新項目。 a.splice(index,1); alert(a.toString());}else{ alert("error"); return false;}新聞熱點
疑難解答