ホームページ  >  記事  >  ウェブフロントエンド  >  配列要素を削除して配列をクリアするJavaScriptメソッド

配列要素を削除して配列をクリアするJavaScriptメソッド

高洛峰
高洛峰オリジナル
2017-02-25 16:14:131245ブラウズ

この記事では、JavaScriptで配列要素を削除して配列をクリアする簡単な方法に関する関連情報を主に紹介しますので、必要な友達は参考にしてください

JavaScriptで配列要素を削除して配列をクリアする簡単な方法

1 . 配列をクリアします

2. 配列要素を削除します

3. jsで配列を削除するいくつかの方法

「b」を削除するには, メソッドは2つあります:

**1, **deleteメソッド: delete arr[1]

このとき、配列の長さは変化しませんが、arr[1]は未定義になります。現時点では、元の配列のインデックスが変更されないという利点があります。配列要素を走査するには、

var ary = [1,2,3,4]; 
ary.splice(0,ary.length);//清空数组 
console.log(ary); // 输出 [],空数组,即被清空了

この走査メソッドは、未定義の要素をスキップします

* このメソッドは、IE4.o と後で

2、配列オブジェクトのスプライス メソッド: arr.splice( 1,1);

このように、配列の長さはそれに応じて変化しますが、元の配列のインデックスもそれに応じて変化します

splice パラメーターの最初の 1 は、削除の開始インデックス (0 から数えます)、ここでは配列です 2 番目の要素

2 番目の 1 は、ここで削除される要素の数は 1 つだけで、それは 'b' です。

を使用すると、for などの配列をトラバースする通常の方法で配列要素をトラバースできます。削除すると要素が

配列に保持されないためです

このメソッドは IE5.5 以降でのみサポートされます

spliceメソッドは、配列要素を削除しながら新しい配列要素を追加することもできます

例えば、arr.splice(1 ,1,'d','e'),d,e要素が配列arrに追加されます

結果の配列は次のようになりますarr:'a','d','e','c'

さらに、JavaScript は配列の長さプロパティを設定することで配列を切り捨てます。これが配列の長さを短縮する唯一の方法です。

delete 演算子を使用して配列内の要素を削除すると、その要素は未定義になりますが、配列の長さのプロパティは変わりません。要素を削除する方法と配列の長さを変更する方法は 2 つあります。

var ary = [1,2,3,4]; 
ary.splice(0,1);
或 ary.splice($.inArray(2, ary), 1); 其中$.inArray(2, ary)用来查找某元素在数组中的索引位置。


var arr=[‘a','b','c'];

IE5 以前のバージョンでは、JavaScript の Array (配列) オブジェクトには、配列要素を削除する既製のメソッドが提供されません。 IE5.5以降のバージョンでは、spliceメソッドはありますが、特定の項目(または複数の項目)を削除するのではなく、特定の項目(または複数の項目)の値をクリアするだけです。つまり、項目はまだ残っています。が存在する場合、配列の長さは変更されていません。

実際、配列に delete メソッドを自分で追加することもできます (これは、実際に配列メンバーから配列の項目を削除することを指すことに注意してください)。おそらく、ループを使用して配列を再割り当てすることを考えるでしょう。これは確かに可能ですが、非常に非効率的です。

以下では、Array オブジェクトのスライスとコンキャットの 2 つのメソッドを使用して、配列の削除をカスタマイズする方法を紹介します。

for(index in arr)
{
 document.write('arr['+index+']='+arr[index]);
}

読んでいただきありがとうございます、皆さんのお役に立てれば幸いです、このサイトをサポートしていただきありがとうございます!

配列要素の削除および配列のクリア方法に関するその他の JavaScript 関連記事については、PHP 中国語 Web サイトに注目してください。

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