首頁 > web前端 > js教程 > 主體

在JS數組中如何刪除某個元素

亚连
發布: 2018-06-08 10:52:22
原創
3309 人瀏覽過

下面我就為大家分享一篇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
登入後複製

上面是我整理給大家的,希望今後會對大家有幫助。

相關文章:

關於vue2.0中datepicker使用方法

JavaScript調停者模式(詳細教學)

在jQuery中有關Dom元素使用方法? ######

以上是在JS數組中如何刪除某個元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板