javascript陣列如何刪除指定元素

2021-04-27 13:01:44

javascript刪除陣列中指定元素的方法:1、使用delete關鍵字,語法格式「delete array[陣列下標]」;2、使用splice()函數,語法格式「array.splice(陣列下標,1)」。

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

javascript自帶刪除陣列元素方法有:

1.delete方法

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

如:

delete arr[1] //[‘a’, ,‘c’,‘d’] 中間出現兩個逗號,陣列長度不變,有一項為undefined

2.splice方法

splice() 方法用於新增或刪除陣列中的元素。

注意:這種方法會改變原始陣列。

返回值: 如果刪除了陣列元素,則返回的是含有被刪除元素的陣列。 如果僅刪除一個元素,則返回一個元素的陣列。 如果未刪除任何元素,則返回空陣列。

範例:

//獲取元素在陣列的下標
Array.prototype.indexOf = function(val) {
	for (var i = 0; i < this.length; i++) {
		if (this[i] == val)	{ 
			return i;
		};
	}
	return -1; 
};

//根據陣列的下標,刪除該下標的元素
Array.prototype.remove = function(val) {
	var index = this.indexOf(val);
	if (index > -1) {
	this.splice(index, 1);
	}
};

//測試資料
var insertAttaList = ['abs','dsf',,'abc','sdf','fd'];
insertAttaList.remove('abc');

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

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

  • index:陣列開始下標

  • len: 替換/刪除的長度

  • item:替換的值,刪除操作的話 item為空

如:

arr = [‘a’,‘b’,‘c’,‘d’]

刪除 ---- item不設定

arr.splice(1,1) //[‘a’,‘c’,‘d’] 刪除起始下標為1,長度為1的一個值,len設定的1,如果為0,則陣列不變
arr.splice(1,2) //[‘a’,‘d’] 刪除起始下標為1,長度為2的一個值,len設定的2

替換 ---- item為替換的值

arr.splice(1,1,‘ttt’) //[‘a’,‘ttt’,‘c’,‘d’] 替換起始下標為1,長度為1的一個值為‘ttt’,len設定的1
arr.splice(1,2,‘ttt’) //[‘a’,‘ttt’,‘d’] 替換起始下標為1,長度為2的兩個值為‘ttt’,len設定的1

新增 ---- len設定為0,item為新增的值

arr.splice(1,0,‘ttt’) //[‘a’,‘ttt’,‘b’,‘c’,‘d’] 表示在下標為1處新增一項‘ttt’

【推薦學習:】

以上就是javascript陣列如何刪除指定元素的詳細內容,更多請關注TW511.COM其它相關文章!