配列要素を削除する Javascript メソッド: 1. length 属性を使用する; 2. delete キーワードを使用する; 3. [pop()] スタック メソッドを使用する; 4. [shift()] キュー メソッドを使用する; 5. [splice()] 操作メソッドを使用します。
このチュートリアルの動作環境: Windows 7 システム、JavaScript バージョン 1.8.5、DELL G3 コンピューター。
JavaScript で配列要素を削除する方法:
1. 長さ属性
JavaScript における配列の長さ属性は次のとおりです。非常にユニーク - 読み取り専用ではありません。したがって、このプロパティを設定して、配列の末尾から項目を削除したり、新しい項目を追加したりできます。
var colors = ["red", "blue", "grey"]; // 创建一个包含3个字符串的数组 colors.length = 2; console.log(colors[2]); // undefined
2. キーワードの削除
JavaScript には、配列要素を削除 (クリア) するための削除キーワードが用意されています。
var colors = ["red", "blue", "grey", "green"]; delete colors[0]; console.log(colors); // [undefined, "blue", "grey", "green"]
delete を使用して要素を削除した後は、配列の長さは変わりませんが、削除された要素は未定義に設定されることに注意してください。
3. Pop() スタック メソッド
JavaScript の Array オブジェクトは、配列内の最後の項目をポップして返すための Pop() スタック メソッドを提供します。ある程度削除として使用できます。
スタック データ構造のアクセス ルールは FILO (First In Last Out) です。スタック操作では、スタックの先頭に項目が追加され、スタックの先頭から項目が削除されます。pop() メソッドを使用します。 、配列内の最後の項目を削除し、その項目を返し、配列の長さを 1 つ減らします。
var colors = ["red", "blue", "grey"]; var color = colors.pop(); console.log(color); // "grey" console.log(colors.length); // 2
pop() メソッドが呼び出されると、配列は「灰色」の最後の項目を返し、配列には 2 つの要素だけが残っていることがわかります。
4.shift() キュー メソッド
JavaScript の Array オブジェクトは、配列内の最初の項目をポップして返すためのshift() キュー メソッドを提供します。ある程度削除としても使用できます。
キュー データ構造のアクセス ルールは FIFO (先入れ先出し) です。キューはリストの最後に項目を追加し、リストの先頭から項目を削除します。shift() メソッドを使用すると、配列内の最初の項目を分割してその項目を返し、配列の長さを 1 つ減らすことができます。
var colors = ["red", "blue", "grey"]; var color = colors.shift(); console.log(color); // "red" console.log(colors.length); // 2
shift() メソッドが呼び出されると、配列は最初の項目 (「赤」) を返し、配列には 2 つの要素だけが残っていることがわかります。
5. splice() 操作メソッド
JavaScript Array オブジェクトは、配列に対して特定の操作を実行するための splice() メソッドを提供します。 splice() はおそらく最も強力な配列メソッドであり、さまざまな方法で使用できますが、ここでは配列要素を削除する方法のみを紹介します。配列要素を削除する場合、最初に削除する項目の位置と削除する項目の数の 2 つのパラメータを指定するだけで、任意の数の項目を削除できます。
var colors = ["red", "blue", "grey"]; var color = colors.splice(0, 1); console.log(color); // "red" console.log(colors); // ["blue", "grey"]
splice(0, 1) メソッドが呼び出されると、配列から最初の項目から 1 つの項目が削除されることがわかります。
6. 反復法
いわゆる反復法とは、ループを使用して配列要素を反復し、削除する項目に一致する項目を削除するものです。 。最も一般的に使用されるのは、配列内の要素がオブジェクトであり、オブジェクトの特定の属性 (ID など) に基づいて配列要素を削除できる場合です。
最初の方法では、最も一般的な ForEach ループを使用して要素を比較し、要素が見つかったら削除します。
var colors = ["red", "blue", "grey"]; colors.forEach(function(item, index, arr) { if(item === "red") { arr.splice(index, 1); } });
削除を行うには splice() メソッドも必要であることがわかりますが、このループは特定の要素を検索するためのものです。もう 1 つのアイデアは、削除する必要のない要素をループ内の新しい配列にプッシュすることです。これにより、特定の要素を誤って削除するという目的も達成できます。
2 番目の方法は、ループ内で filter メソッドを使用します。
var colors = ["red", "blue", "grey"]; colors = colors.filter(function(item) { return item != "red" }); console.log(colors); // ["blue", "grey"]
コードは非常に単純で、要素が赤ではない項目の数を調べて色に返します (実際には、元の配列を削除するのではなく、新しい配列を取得します)。特定の要素の目的。
7. プロトタイプのプロトタイプメソッド
Array のプロトタイプにメソッドを追加することで削除の目的を達成できます。
Array.prototype.remove = function(dx) { if(isNaN(dx) || dx > this.length){ return false; } for(var i = 0, n = 0; i < this.length; i++) { if(this[i] != this[dx]) { this[n++] = this[i]; } } this.length -= 1; }; var colors = ["red", "blue", "grey"]; colors.remove(1); console.log(colors); // ["red", "grey"]
このメソッドは、実際には削除ロジックを自分で実装し、その削除メソッドを Array プロトタイプ オブジェクトに追加することで、この環境内のすべての Array オブジェクトがこのメソッドを使用できるようになります。変更することは可能ですが、実稼働アプリケーションでネイティブ オブジェクトのプロトタイプを変更することはお勧めできません。理由は簡単で、特定の実装でメソッドが欠落している場合、このメソッドをネイティブ オブジェクトのプロトタイプに追加すると、このメソッドをサポートする別の実装でコードを実行するときに名前の競合が発生する可能性があります。そうすると、誤ってネイティブ メソッドがオーバーライドされる可能性があります。
関連する無料学習の推奨事項:javascript(ビデオ)
以上がJavaScriptで配列要素を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。