首頁  >  文章  >  web前端  >  基於JavaScript實作移除(刪除)陣列中指定元素_javascript技巧

基於JavaScript實作移除(刪除)陣列中指定元素_javascript技巧

WBOY
WBOY原創
2016-05-16 15:22:121141瀏覽

在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;
}
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn