javascript配列の操作概要と属性、方法紹介


一、配列の操作
1、配列の作成

var arrayObj = new Array(); //
var arrayObj = new Array([size]); // , ,
var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]);//
は、第2の方法では、配列が長さを指定していますが、実際には、すべての場合、配列は長くなります。つまり、長さ5を指定しても、要素は所定の長さ以外に記憶されます。2、配列の要素のアクセス

var testGetArrValue=arrayObj[1]; //
arrayObj[1]= " "; //
3、配列要素の追加

arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// ,
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// , ,
arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);// , , ""。
4、配列要素の削除

arrayObj.pop(); //
arrayObj.shift(); // ,
arrayObj.splice(deletePos,deleteCount); // deletePos deleteCount ,
、配列の切り取りとマージ

arrayObj.slice(start, [end]); // , end , end start
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); // ( , ) ,
、配列のコピー

arrayObj.slice(0); // , ,
arrayObj.concat(); // , ,
、配列要素の順序付け

arrayObj.reverse(); // ( 、 ),
arrayObj.sort(); // ,
、配列要素の文字列化

arrayObj.join(separator); // , , separator 。
toLocaleString 、toString 、valueOf: join ,
二、配列オブジェクトの3つの属性
1、length属性
Length属性は、配列の長さ、すなわち要素の個数を表します。配列のインデックスは常に0から始まるので、1つの配列の上下限はそれぞれ0とlength-1です。他の多くの言語と違って、JavaScript配列のlength属性は可変であることに注意が必要です。length属性がより大きく設定されている場合、配列全体の状態は実際には変化しません。length属性だけが大きくなります。length属性が元より小さい場合、元の配列のインデックスがlength以上の要素の値をすべて失われます。次に、length属性を変更する例を示す。

var arr=[12,23,5,3,25,98,76,54,56,76];
// 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 "undefined"
arr.length=10; // 10
alert(arr[8]); // 10, 9 , "undefined"
は上のコードによって、length属性の性質を明確に見ることができる。しかし、lengthオブジェクトは明示的な設定だけでなく、暗黙的に変更されることもあります。JavaScriptでは、宣言されていない変数を使用することができます。同様に、定義されていない配列要素(インデックスがlengthを超える要素または等しい要素)を使用することもできます。このとき、length属性の値は、使用される要素インデックスの値に1を加算するように設定されます。例えば、下記のコード:

var arr=[12,23,5,3,25,98,76,54,56,76];
alert(arr.length);
arr[15]=34;
alert(arr.length);
コードの中でも、10個の数字を含む配列が先に定義されています。alert文でその長さは10であることが分かります。その後、インデックス15の要素を使用して、その割当値を15、すなわちarr[15]=34とした場合、アレット文を用いて配列の長さを出力し、得られたのは16である。いずれにしても、強いタイプのプログラミングに慣れている開発者にとっては、驚くべき特性です。実際には、new Aray()形式で作成された配列の初期長さは0であり、その中の定義されていない要素に対する操作こそ、配列の長さを変化させることができる。
上記の説明から、length属性は、配列の容量を増加または減少させるのに便利であることが分かります。したがって、length属性についての深い理解は、開発過程での活用に役立つ。
2、prototype属性
オブジェクトタイプの原型の参照を返します。prototype属性はobject共有です。

objectName.prototype
objectName object 。
は、プロトタイプ属性でオブジェクトのクラスの基本機能のセットを提供すると説明しています。オブジェクトの新しいインスタンス「継承」は、オブジェクトの原型に与える操作です。配列オブジェクトについては、プロトタイプ属性の用途を以下の例で説明します。配列オブジェクトに戻り行列の最大要素値を追加する方法。これを完了するには、関数を宣言して、Aray.prototypeに加入し、それを使用します。

function array_max( )

{

   var i, max = this[0];

   for (i = 1; i < this.length; i++)

   {

   if (max < this[i])

   max = this[i];

   }

   return max;

}

Array.prototype.max = array_max;

var x = new Array(1, 2, 3, 4, 5, 6);

var y = x.max( );

このコードを実行すると、yは配列xの最大値、または6を保存します。
3、constructor属性
オブジェクトを作成する関数を表します。
object.co nstructor//objectは対象または関数の名前です。
説明:constructor属性は、プロジェクトの対象となるすべてのメンバーです。それらはGlobalとMathオブジェクト以外の全てのJScript固有のオブジェクトを含んでいます。constructor属性は、特定のオブジェクトのインスタンスを構成する関数への参照を保存します。
例えば、

x = new String("Hi");

if (x.constructor == String) // ( )。

または

function MyFunc {

// 。

}

y = new MyFunc;

if (y.constructor == MyFunc) // ( )。

三、配列操作でよく使われる関数、方法
toStering():配列を文字列toLocareStering():配列を文字列joinに変換します。配列を記号で連結された文字列shiftに変換します。配列の頭の要素をunshift():配列の頭に要素popを挿入します。oncat():配列に要素slice():戻る配列の部分reverse():配列を逆に並べ替えsort():配列を並べ替えて操作するsplice():配列を挿入、削除、または配列要素を置換する