JavaScriptでは、オブジェクトに加えて、アレイタイプ(アレイ)は、おそらく最も一般的なタイプです。他のアレイの言語と比較すると、JavaScriptのArrayは非常に柔軟です。この柔軟性は、両方の長所と短所、その創造の利点は、柔軟なソリューションのさまざまなを提供することができます。欠点は、実際には、それはあまりにも、柔軟な狂気制御不能に柔軟であるため、脳は、容易ではないということです。
操作のいくつかの前で嘲笑は、キーを削除し、JavaScriptメソッドで7つの削除した配列要素、lengthプロパティのすなわち使用を要約するために、ここで、話題に戻り、ポップ()メソッドスタック、シフト()メソッドキュー、スプライス()メソッド、forEachの()またはフィルタ()プロトタイププロトタイプ法と反復法。
lengthプロパティ
lengthプロパティ内のJavaScript配列は、それが読み取り専用ではありません非常に特徴的である11。そのため、あなたは配列の末尾から項目を除去する目的を達成するために、このプロパティを設定する、または新しいアイテムを追加することができます。
VaRの色= [ "赤"、 "青"、 "グレー"]; // アレイ3を含む文字列を作成 colors.lengthでは、2 = ;
はconsole.logを(色[ 2]); // 未定義
キーワードを削除
JavaScriptは、(クリア)配列要素を削除する削除キーを提供します。
VARの = [、 "赤" "青"、 "グレー"、 "緑"色]。 削除色[0 ]。 console.log(ARR)。// [未定義、 "青"、 "グレー"、 "緑"]
使用後の同じ長さの配列要素を削除する削除することに留意すべきであるが、削除された要素が未定義に設定されています。
ポップ()メソッドスタック
JavaScriptで配列オブジェクトが削除としてある程度使用することができ、スタックをポップするポップ()メソッドを提供し、アレイ内の最後の項目を返します。
アクセスルールは、データ構造は、FILO(最初に最終うち、最後のアウト)でスタックポップ操作が項目を追加スタック、スタックの上部からアイテムを削除し、アレイ内の最後の項目を削除することができ、POP()メソッドを使用しそしてリターン、配列の長さマイナス1。
VaRの色= [ "赤"、 "青"、 "灰色" ]。 VaRの色= colors.pop()。 console.log(色)。// "グレー" はconsole.log(colors.lengthで)。// 2
図から分かるように、あなたがポップを呼び出すとき、()メソッドは、最後の項目の配列を返し、すなわち「グレー」、また、アレイの2つの要素が残っています。
キューのシフト()メソッド
JavaScriptで配列オブジェクトは、キューを吐出するためのシフト()メソッドを提供し、削除として使用することができ、ある程度、アレイ内の最初の項目を返します。
アクセスルールキューデータ構造(先入れ先出し、FIFO)においてFIFOは、リスト項目の最後にキューに追加され、リスト項目は、最初の配列に除去することができるシフト()メソッドを使用して先端から除去されますそして、エントリ、および配列の長さマイナス1を返します。
VaRの色= [ "赤"、 "青"、 "灰色" ]。 VaRの色= colors.shift()。 console.log(色)。// "赤" はconsole.log(colors.lengthで)。// 2
図から分かるように、シフト()メソッドを呼び出すときは、アレイの2つの要素が残り、最初の項目、すなわち、「赤」の配列を返します。
操作のスプライス()メソッド
JavaScriptのArrayオブジェクト()メソッドでスプライスを提供することは、特定の配列の操作のために使用されます。スプライス()は、おそらくこれが唯一の配列要素を削除する方法を説明し、方法の最も強力な配列であると考えられ、そして彼の用法の多くがありますされています。アイテムの数は、削除すると、最初の項目の位置を削除する:あなたは、配列の要素を削除すると、それだけで2つのパラメータを指定する必要があり、任意の数の項目を削除することができます。
VaRの色= [ "赤"、 "青"、 "灰色" ]。 VaRの色= colors.splice(0、1 )。 console.log(色)。// "赤" はconsole.log(色)。// [ "青"、 "灰色"]
図から分かるように、あなたがスプライス(0、1)メソッドを呼び出したときに、最初のスタートからのアレイは、削除します。
反復法
いわゆるループ反復の反復方法が削除され、削除するラインアイテムに見られる要素のアレイを使用することです。配列内の要素がオブジェクトであるとき、ほとんどの場所では、おそらく、あなたは、オブジェクトの(IDなど)の特性に応じて配列の要素を削除することができます。
最も一般的な要素の最初の使用後は、それを削除するために比較するためにforeachループを発見しました。
VaRの色= [ "赤"、 "青"、 "灰色" ]。 colors.forEach(関数(項目、インデックス、ARR){ 場合(項目=== "赤" ){ arr.splice(インデックス 1 ); } })。
ここでは、単に特定の要素を見つけるために、削除ループを達成するためにも、スプライス()メソッドを使用して見ることができます。別のアイデアは新しい配列に押し込ま不要な要素のサイクルを除去することで、特定の要素を削除擬似の目的を達成することができます。
第二の方法は、我々は、フィルタサイクルを使用しています。
VaRの色= [ "赤"、 "青"、 "灰色" ]。 色 = colors.filter(関数(アイテム){ 戻り項目= "赤"! })。 console.log(色)。// [ "青"、 "灰色"]
コードは、要素を見つける、単純です色(実際には、元の配列に新しい配列ではなく、削除操作を取得)に戻された項目の数の「赤」ではない、ある程度の特定の要素を削除するには、目的を達成するために考えることができます。
プロトタイプの試作
削除する目的を達成するためにアレイのプロトタイプメソッドに追加することができます。
Array.prototype.remove = 関数(DX){ 場合(ますisNaN(DX)|| DX> この.LENGTH){ 戻り 偽。 } のための(VAR I = 0、N = 0; I < 本 .LENGTH; iは++ ){ 場合(この [I] =!この[DX]){ この [N ++] = この[I]。 } } この .LENGTH - = 1 ; }。 VaRの色= [ "赤"、 "青"、 "灰色" ]。 colors.remove( 1 )。 console.log(色)。//【「赤」、「灰色」]
この方法は、実際には、独自の実現のロジックで削除し、削除し、アレイのプロトタイプオブジェクトにメソッドを追加し、この環境内のすべてのArrayオブジェクトは、このメソッドを使用することができます。あなたはこれを行うことができますが、製品のプロトタイプでネイティブオブジェクト指向プログラムを変更することは推奨されていませんが。あなたはこの方法では、それは名前の競合につながる可能性がある他の支援の実現にコードを実行するときにのみ、メソッドの実装が存在しない場合に、この方法は、その後、プロトタイプでネイティブオブジェクトを追加する場合の理由は、単純です。そして、そうすることは、誤って、ネイティブメソッドがオーバーライドされる場合があります。
「あなたに少しでも関心人々は、あなたがあなたの心を開いて、あなたは彼らが孤独されていることが多いので、実際には、これは率直だと思います。」