ホームページ >ウェブフロントエンド >jsチュートリアル >jsで配列要素を削除し、配列をクリアする簡単な方法
1. 配列をクリアします
var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了
2. 配列要素を削除します
var arr=['a','b','c'];
'b' を削除したい場合は、次の 2 つの方法があります: 1、削除方法: delete arr[1]
この方法では、配列の長さは変更されません。このとき、arr[1] は次のようになります。未定義ですが、インデックスも変更されないという利点もあります。この時点で、配列要素を走査したい場合は、
var ary = [1,2,3,4]; ary.splice(0,1); 或 ary.splice($.inArray(2, ary), 1); 其中$.inArray(2, ary)用来查找某元素在数组中的索引位置。
この走査メソッドは未定義の要素をスキップします。 IE4.o 以降でサポートされています
2、配列オブジェクトの splice メソッド :arr.splice(1,1);
このように、配列の長さはそれに応じて変化しますが、元の配列のインデックスもそれに応じて変化します
たとえば、arr.splice(1,1,'d','e') では、2 つの要素 d と e がarray arr結果の配列は arr:'a','d','e' ,'c' になりますさらに、JavaScript は配列の長さプロパティを設定することで配列を切り捨てますが、これが配列を短くする唯一の方法です。配列の長さ。
delete 演算子を使用して配列内の要素を削除すると、その要素は未定義になりますが、配列の長さのプロパティは変わりません。要素を削除するには 2 つの方法があり、配列の長さも変わります。
for(index in arr) { document.write('arr['+index+']='+arr[index]); }
例 2、
/* * 方法:Array.remove(dx) * 功能:删除数组元素. * 参数:dx删除元素的下标. * 返回:在原数组上修改数组 */ //经常用的是通过遍历,重构数组. 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 } a = ['1','2','3','4','5']; alert("elements: "+a+"nLength: "+a.length); a.remove(0); //删除下标为0的元素 alert("elements: "+a+"nLength: "+a.length);IE5 以前のバージョンでは、JavaScript の Array (配列) オブジェクトには、配列要素を削除する既製のメソッドが提供されていません。 IE5.5以降のバージョンでは、spliceメソッドはありますが、特定の項目(または複数の項目)を削除するのではなく、特定の項目(または複数の項目)の値をクリアするだけです。つまり、項目はまだ残っています。が存在する場合、配列の長さは変更されていません。 実際、配列に delete メソッドを自分で追加することもできます (これは、実際に配列メンバーから配列の項目を削除することを指すことに注意してください)。おそらく、ループを使用して配列を再割り当てすることを考えるでしょう。これは確かに可能ですが、非常に非効率的です。 以下では、Array オブジェクトのスライスとコンキャットの 2 つのメソッドを使用して、配列の削除をカスタマイズする方法を紹介します。
/* * 方法:Array.baoremove(dx) * 功能:删除数组元素. * 参数:dx删除元素的下标. * 返回:在原数组上修改数组. */ //也可以用splice来实现. Array.prototype.baoremove = function(dx) { // www.jb51.net if(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); //删除下标为1的元素 alert("elements: "+b+"nLength: "+b.length);上記のコードは、基本的な要件を達成するために Array オブジェクトの 2 つのメソッドのみを使用していますが、これは良いことです。 js で配列要素を削除して配列をクリアする上記の簡単な方法 (必ずお読みください) は、エディターによって共有されたすべての内容です。参考にしていただければ幸いです。また、PHP 中国語 Web サイトにもっと注目していただければ幸いです。 。 配列要素を削除し、配列をクリアするためのその他の js の簡単な方法については、PHP 中国語 Web サイトの関連記事に注目してください。