ホームページ > 記事 > ウェブフロントエンド > JavaScript配列の要素を削除する方法
JavaScript 配列内の要素を削除する方法: まず、配列内の指定された要素の位置を見つけるための JavaScript 配列オブジェクトの関数を定義し、次に要素のインデックスを取得し、最後に削除メソッドを使用します。この要素を削除するだけの関数です。
この記事の動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
js は配列内の要素を削除します
配列内で指定された要素を削除します
まず、次のことができます。 give 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 = ['abs','dsf','sdf','fd']
その中の「fd」を削除したい場合は、以下を使用できます:
emp.remove('fd');
配列の項目を削除
splice(index,len,[item]) : このメソッドは元の配列を変更します。
splice には 3 つのパラメータがあり、配列内の 1 つまたは複数の値を置換/削除/追加するために使用することもできます。
index: 配列の開始インデックス len: 置換/削除の長さitem: 置換される値。操作が削除されると、項目は空になります。
例: arr = ['a','b','c','d']
削除
//删除起始下标为1,长度为1的一个值(len设置1,如果为0,则数组不变) var arr = ['a','b','c','d']; arr.splice(1,1); console.log(arr); //['a','c','d']; //删除起始下标为1,长度为2的一个值(len设置2) var arr2 = ['a','b','c','d'] arr2.splice(1,2); console.log(arr2); //['a','d']
置換
//code from http://caibaojian.com/js-splice-element.html //替换起始下标为1,长度为1的一个值为‘ttt’,len设置的1 var arr = ['a','b','c','d']; arr.splice(1,1,'ttt'); console.log(arr); //['a','ttt','c','d'] var arr2 = ['a','b','c','d']; arr2.splice(1,2,'ttt'); console.log(arr2); //['a','ttt','d'] 替换起始下标为1,长度为2的两个值为‘ttt’,len设置的1
追加---- lenは0に設定され、項目は追加値です
var arr = ['a','b','c','d']; arr.splice(1,0,'ttt'); console.log(arr); //['a','ttt','b','c','d'] 表示在下标为1处添加一项'ttt'
2: 削除
delete 配列内の要素を削除した後、マークされた値は未定義に設定され、配列の長さは変更されません
var arr = ['a','b','c','d']; delete arr[1]; arr; //["a", undefined × 1, "c", "d"] 中间出现两个逗号,数组长度不变,有一项为undefined
更新 2016-11-17: John が書いた記事を見ましたjquery の父である Resig が stackoverflow の高スコアの回答について語る 私が渡したコード:
// Array Remove - By John Resig (MIT Licensed) Array.prototype.remove = function(from, to) { var rest = this.slice((to || from) + 1 || this.length); this.length = from < 0 ? this.length + from : from; return this.push.apply(this, rest); };
実際の使用例をいくつか示します:
// 移除数组中的第二项 array.remove(1); // 移除数组中的倒数第二项 array.remove(-2); // 移除数组中的第二项和第三项(从第二项开始,删除2个元素) array.remove(1,2); // 移除数组中的最后一项和倒数第二项(数组中的最后两项) array.remove(-2,-1);
この例は、上記の最初の例と非常に似ています。 、要素の特定の項目はチェックされませんが、削除は配列内の要素の添字位置によって配置されます。
推奨学習: 「JavaScript 上級チュートリアル 」
以上がJavaScript配列の要素を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。