ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript配列から指定した要素を削除する方法

JavaScript配列から指定した要素を削除する方法

青灯夜游
青灯夜游オリジナル
2021-04-27 11:17:5511326ブラウズ

配列内の指定された要素を削除する Javascript メソッド: 1. delete キーワード、構文形式 "delete array[array subscript]" を使用します; 2. splice() 関数、構文形式 "array. splice(配列添字,1)」。

JavaScript配列から指定した要素を削除する方法

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript には、配列要素を削除するためのメソッドが付属しています:

1.delete メソッド

delete配列内の要素を削除した後、添字付きの値は未定義に設定され、配列の長さは変わりません。

例:

delete arr[1] //[‘a’, ,‘c’,‘d’] 中间出现两个逗号,数组长度不变,有一项为undefined

2.splice メソッド

splice() メソッドは、配列に要素を追加または配列から削除するために使用されます。

注: このメソッドは元の配列を変更します。

戻り値: 配列要素が削除された場合、削除された要素を含む配列が返されます。要素が 1 つだけ削除された場合は、1 要素の配列が返されます。要素が削除されなかった場合は、空の配列が返されます。

例:

//获取元素在数组的下标
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 = [&#39;abs&#39;,&#39;dsf&#39;,,&#39;abc&#39;,&#39;sdf&#39;,&#39;fd&#39;];
insertAttaList.remove(&#39;abc&#39;);

splice(index,len,[item]) 注: このメソッドは元の配列を変更します。

splice には 3 つのパラメータがあり、配列内の 1 つまたは複数の値を置換/削除/追加するために使用することもできます

  • index: 配列開始インデックス

  • len: 置換/削除の長さ

  • item: 置換の値、削除操作が発生した場合、項目は空になります

例:

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

削除 ---- 項目は設定されていません

arr.splice(1,1) //[‘a’,‘c’,‘d’] 删除起始下标为1,长度为1的一个值,len设置的1,如果为0,则数组不变
arr.splice(1,2) //[‘a’,‘d’] 删除起始下标为1,长度为2的一个值,len设置的2

Replace ---- 項目は置換された値です

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

Add ---- len 0 に設定すると、item が追加値になります

arr.splice(1,0,‘ttt’) //[‘a’,‘ttt’,‘b’,‘c’,‘d’] 表示在下标为1处添加一项‘ttt’

[推奨学習: JavaScript 上級チュートリアル ]

以上がJavaScript配列から指定した要素を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。