1.配列をクリアします
var ary = [1,2,3,4]; ary.splice(0、ary.length); //配列console.log(ary)をクリアします。 //出力[]、配列を空にします。つまり、クリアされます
2.配列要素を削除します
var ary = [1,2,3,4]; ary.splice(0,1);またはary.splice($。INARRAY(2、ARY)、1);ここで、$ .INARRAY(2、ARY)を使用して、配列内の要素のインデックス位置を見つけます。
JSで配列を削除する3つの方法
var arr = ['a'、 'b'、 'c'];
「b」を削除するには、2つの方法があります。
1.メソッドの削除:arrを削除[1]
このようにして、配列の長さは変更されていません。現時点では、arr [1]は未定義になりますが、配列のインデックスが変更されたままであるという利点もあります。この時点で、使用する配列要素を横断する必要があります
for(arr in arr){document.write( 'arr ['+index+'] ='+arr [index]);}このトラバーサル法は、未定義の要素をスキップします
*この方法は将来サポートされます。
2。配列オブジェクトスプライス法:arr.splice(1,1);
このようにして、アレイの長さはそれに応じて変更されますが、元の配列インデックスもそれに応じて変更されます
スプライスパラメーターの最初の1は、配列の2番目の要素である削除の開始インデックス(0から計算)です。
2番目の1は、削除された要素の数であり、ここで削除された要素、つまり「b」です。
現時点では、削除された要素が
配列に保存されていません
*この方法は、IE5.5の後にのみサポートされます
配列要素を削除している間、スプライス法も配列要素を追加できることに言及する価値があります。
たとえば、arr.splice(1,1、 'd'、 'e')、d、およびeが配列arrに追加されます
結果配列はarr: 'a'、 'd'、 'e'、 'c'になります
さらに、JavaScriptは、配列の長さプロパティを設定することによりアレイを切り捨てます。これは、配列の長さを短縮する唯一の方法です。
削除演算子を使用して配列内の要素を削除する場合、その要素は未定義になりますが、配列の長さ属性は2つのメソッドを変更して要素を削除することはなく、配列の長さも変わります。
/ * *メソッド:array.remove(dx) *関数:配列要素を削除します。 *パラメーター:DX要素の添え字を削除します。 *返品:元の配列の配列の変更i = 0、n = 0; i <this.length; i ++){if(this [i]!= this [dx]){this [n ++] = this [i]}} this.length- = 1} a = ['1'、 '2'、 '3'、 '4'、 '5']; Alert( "Elements:"+a+"nlength:"+a.length); A.Remove(0); // subscript 0アラートで要素を削除する( "要素:"+a+"nlength:"+a.length);例2、
/ * *メソッド:array.baoremove(dx) *関数:配列要素を削除します。 *パラメーター:DX要素の添え字を削除します。 *返品:元の配列の配列を変更します。 */ //スプライスを使用して実装することもできます。 array.prototype.baoremove = function(dx){// www.vevb.comif(isnan(dx)|| dx> this.length){return false;} this.splice(dx、1); } b = ['1'、 '2'、 '3'、 '4'、 '5']; Alert( "Elements:"+b+"nlength:"+b.length); B.Baoremove(1); // subscript 1アラートで要素を削除する( "要素:"+b+"nlength:"+b.length);IE5以下では、JavaScriptの配列オブジェクトは、配列要素を削除するための既製の方法を提供しません。 IE5.5+バージョンでは、スプライスメソッドはありますが、特定のアイテム(または複数のアイテム)を削除するのではなく、特定のアイテム(または複数のアイテム)の値のみをクリアします。つまり、アイテムはまだ存在し、配列の長さが変更されていません。
実際、自分で配列に削除メソッドを追加できます(これは、配列メンバーから配列のアイテムを削除することを指すことに注意してください)。おそらく、ループを使用してアレイに値を再割り当てすることを考えるでしょう。これは確かに大丈夫ですが、非常に非効率的です。
以下は、アレイオブジェクトの2つの方法と連結の2つの方法を使用して、配列の削除をカスタマイズする方法を紹介します。
array.prototype.del = function(n){// nは、0から始まるその用語を表します。//プロトタイプはオブジェクトのプロトタイプであり、ここでオブジェクトにカスタムメソッドを追加する方法に注意してください。 if(n <0)// n <0の場合、何も行われません。これを返します。 elsereturn this.slice(0、n).concat(this.slice(n+1、this.length));/* concatメソッド:2つ以上の配列で構成される新しい配列を返します。これは、this.slice(0、n)/this.slice(n+1、this.length)で構成される新しい配列です。中央では、n番目のアイテムがありません。スライス方法:2つのパラメーターを持つ配列のセグメントを返し、それぞれ開始位置と終了位置を指定します。 */} //自分で追加する方法var test = new Array(0,1,2,3,4,5); test = test.del(3); // 0から、4番目のアイテムを削除します。アラート(テスト);上記のコードは、2つのアレイオブジェクトの方法のみを柔軟に使用しているため、基本的な要件を実現します。これは適切です。
JSの配列要素を削除し、JSで配列をクリアする(必須)の上記の単純な方法は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。