最近jsを使っていて、jsの配列の操作について勉強したのでまとめておきます。
1. 配列の作成
var arrayObj = new Array([size]); //配列を作成し、長さを指定します。上限ではなく長さであることに注意してください。
var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]) //配列を作成し、値を割り当てます
2. 配列要素へのアクセス
;
3. 配列要素の追加
arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//1 つ以上の新しい要素を配列の指定された位置に挿入します。位置を自動的に戻して「」に戻ります。
arrayObj.splice(deletePos,deleteCount); //指定された位置 deletePos から指定された数の deleteCount 要素を削除し、削除された要素を配列形式で返します
5. 配列のインターセプトとマージ
2. 配列オブジェクトの 3 つの属性
1. 長さ属性
Length 属性は配列の長さ、つまり配列内の要素の数を表します。配列のインデックスは常に 0 から始まるため、配列の上限と下限はそれぞれ 0 と length-1 になります。他のほとんどの言語とは異なり、JavaScript 配列の長さプロパティは可変であるため、特別な注意が必要です。 length 属性がより大きく設定されても、実際には配列全体の状態は変化しません。length 属性が元の値よりも小さく設定されている場合、元の配列内の要素のインデックスがそれ以上になるだけです。長さはすべての値が失われます。以下は、長さ属性の変更を示す例です:
//10 個の数値を含む配列を定義します
alert(arr.length); //配列の長さを表示 10
arr.length=12; //配列の長さを増やします
alert(arr.length); //配列の長さが 12 になったことを示します
alert(arr[8]); //9 番目の要素の値 56 を表示します
arr.length=5; //配列の長さを 5 に減らし、5 以上のインデックスを持つ要素は破棄されます
alert(arr[8]); //9 番目の要素が「未定義」になったことを表示します
arr.length=10; //配列の長さを 10 に戻します
alert(arr[8]); //長さは 10 に戻りますが、9 番目の要素は復元できず、「未定義」と表示されます
上記のコードから、length 属性の性質がはっきりとわかります。ただし、長さオブジェクトは明示的に設定できるだけでなく、暗黙的に変更することもできます。同様に、JavaScript で未定義の変数を使用することもできます (長さ以上のインデックスを持つ要素を参照します)。この場合、length 属性の値は に設定されます。使用される要素インデックスの値に 1 を加算します。たとえば、次のコード:
alert(arr.length);
arr[15]=34;
alert(arr.length);
上記の紹介からわかるように、length 属性は非常に魔法のようなもので、これを使用すると配列の容量を簡単に増減できます。したがって、長さ属性を深く理解すると、開発プロセス中に長さ属性を柔軟に使用するのに役立ちます。
2. プロトタイプ属性
オブジェクト型のプロトタイプへの参照を返します。プロトタイププロパティはオブジェクトに共通です。
オブジェクト名.プロトタイプ
objectName パラメータは、オブジェクト オブジェクトの名前です。
説明:
プロトタイプ プロパティを使用して、オブジェクトのクラスに基本的な機能セットを提供します。 オブジェクトの新しいインスタンスは、オブジェクトのプロトタイプに割り当てられた操作を「継承」します。
配列オブジェクトの場合、次の例は、prototype 属性の使用法を示しています。
配列内の最大要素値を返すメソッドを配列オブジェクトに追加します。これを実現するには、関数を宣言し、それを Array.prototype に追加して使用します。
for (i = 1; i max = this[i]; 最大値を返します; Array.prototype.max = array_max; var x = 新しい配列(1, 2, 3, 4, 5, 6); var y = x.max();
If (max
}
}
このコードが実行されると、y は配列 x の最大値、つまり 6 を保持します。
3. コンストラクター属性
はオブジェクトを作成する関数を表します。
object.constructor //object はオブジェクトまたは関数の名前です。
説明: コンストラクター プロパティは、プロトタイプを持つすべてのオブジェクトのメンバーです。これらには、Global オブジェクトと Math オブジェクトを除くすべての JScript ネイティブ オブジェクトが含まれます。コンストラクター プロパティは、特定のオブジェクト インスタンスを構築する関数への参照を保持します。
例:
if (x.constructor == String) // 処理(条件が true )。
// 関数本体。
}
y = 新しい MyFunc;
if (y.constructor == MyFunc) // 処理(条件が true )。