首頁  >  文章  >  web前端  >  JS刪除陣列裡的某個元素實例程式碼

JS刪除陣列裡的某個元素實例程式碼

小云云
小云云原創
2018-02-05 09:56:461243瀏覽

本文主要為大家分享一篇JS刪除陣列裡的某個元素方法,具有很好的參考價值,希望對大家有幫助。一起跟著小編過來看看吧,希望能幫助大家。

刪除陣列指定的某個元素

首先可以為JS的陣列物件定義函數,用於尋找指定的元素在陣列中的位置,即索引,程式碼為:


Array.prototype.indexOf = function(val) { 
for (var i = 0; i < this.length; i++) { 
if (this[i] == val) return i; 
} 
return -1; 
};

然後使用透過得到這個元素的索引,使用js數組自己固有的函數去刪除這個元素:

程式碼為:


Array.prototype.remove = function(val) { 
var index = this.indexOf(val); 
if (index > -1) { 
this.splice(index, 1); 
} 
};

這樣就建構了這樣一個函數,例如我有一個陣列:


var emp = [&#39;abs&#39;,&#39;dsf&#39;,&#39;sdf&#39;,&#39;fd&#39;]

假如我們要刪除其中的'fd' ,就可以使用:


emp.remove(&#39;fd&#39;);

刪除的陣列的某一項

splice(index,len,[item]) 註解:此方法會改變原始陣列。

splice有3個參數,它也可以用來替換/刪除/新增陣列內某一個或幾個值

index:陣列開始下標len: 替換/刪除的長度item :被替換的值,刪除運算的話item為空

如:arr = ['a','b','c','d']


#

//删除起始下标为1,长度为1的一个值(len设置1,如果为0,则数组不变) 
var arr = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;]; 
arr.splice(1,1); 
console.log(arr); 
//[&#39;a&#39;,&#39;c&#39;,&#39;d&#39;]; 
 
 
//删除起始下标为1,长度为2的一个值(len设置2) 
var arr2 = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;] 
arr2.splice(1,2); 
console.log(arr2); 
//[&#39;a&#39;,&#39;d&#39;]

替換

#

//替换起始下标为1,长度为1的一个值为‘ttt&#39;,len设置的1 
var arr = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;]; 
arr.splice(1,1,&#39;ttt&#39;); 
console.log(arr);   
//[&#39;a&#39;,&#39;ttt&#39;,&#39;c&#39;,&#39;d&#39;] 
 
 
var arr2 = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;]; 
arr2.splice(1,2,&#39;ttt&#39;); 
console.log(arr2);   
//[&#39;a&#39;,&#39;ttt&#39;,&#39;d&#39;] 替换起始下标为1,长度为2的两个值为‘ttt&#39;,len设置的1

新增---- len設置為0,item為添加的值

var arr = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;]; 
arr.splice(1,0,&#39;ttt&#39;); 
console.log(arr);   
//[&#39;a&#39;,&#39;ttt&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;] 表示在下标为1处添加一项&#39;ttt&#39;<span style="font-size:14px;font-family:Arial, Helvetica, sans-serif;background-color:rgb(255,255,255);"> </span>

delete方法刪除掉數組中的元素後,會把該下標出的值置為undefined,數組的長度不會變

var arr = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;]; 
delete arr[1]; 
arr; 
//["a", undefined × 1, "c", "d"] 中间出现两个逗号,数组长度不变,有一项为undefined
相關推薦:

#PHP刪除數組中指定下標元素的實例代碼

5種JavaScript刪除陣列重複元素的演算法

###使用php遞歸的方法刪除陣列空值元素的方法#######

以上是JS刪除陣列裡的某個元素實例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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