ホームページ >ウェブフロントエンド >jsチュートリアル >js配列操作_javascriptスキルを詳しく解説

js配列操作_javascriptスキルを詳しく解説

WBOY
WBOYオリジナル
2016-05-16 17:39:06939ブラウズ

私は長い間 js を使ってきましたが、js の配列形式について詳しく調べたことがありませんでした。場合によっては、単純な string.split(char) を使用するだけです。この時期に取り組んだプロジェクトでは、多くの場所で配列を使用していました。私は JS をマスターしたと思っていましたが、始めることができませんでした。これから学びます。ふふ。学習した後、js 配列は非常に強力で、VB や C# よりもはるかに強力であることがわかりました。見てみましょう

1. 配列

の作成

コードをコピー コードは次のとおりです。

var arrayObj = new Array() / /Create one Array
var arrayObj = new Array([size]); //配列を作成し、長さを指定します。上限ではなく、長さ
var arrayObj = new Array([ element0[, element1[, ...[ , elementN]]]]) //配列を作成し、値を割り当てます

2 番目のメソッドは配列を作成して長さを指定しますが、実際には配列はすべての場合において可変長であることに注意してください。つまり、長さが 5 に指定されている場合でも、要素は可変長になります。それ以外の場合は、長さがそれに応じて変更されることに注意してください。

2. 配列要素へのアクセス

コードをコピーします コードは次のとおりです。

var testGetArrValue=arrayObj[1] / /配列要素の値を取得します
arrayObj[1]= "これが新しい値です" //配列要素に新しい値を割り当てます
;

3. 配列要素の追加

コードをコピー コードは次のとおりです。

arrayObj([item1 [item2 [ . . . [itemN ]]]);// 配列の末尾に 1 つ以上の新しい要素を追加し、配列の新しい長さを返します
arrayObj.unshift([item1 [item2 [. . . [ itemN ]]]]); // まず、1 つ以上の新しい要素を配列に追加します。配列内の要素は自動的に元に戻され、配列の新しい長さが返されます。
arrayObj.splice(insertPos,0) ,[item1[, item2[, . [,itemN ]]]]);// 1 つ以上の新しい要素を配列の指定された位置に挿入し、挿入位置の要素が自動的に戻されます。戻ってきました。

4. 配列要素の削除

コードをコピーします コードは次のとおりです。

arrayObj.pop(); //削除最後の 1 つの要素を削除し、要素の値を返します
arrayObj.shift(); //最初の要素を削除して要素の値を返し、配列内の要素は自動的に前方に移動します
arrayObj.splice(deletePos,deleteCount) ; // 削除元 指定した位置の deletePos から始まる deleteCount 要素の数を指定し、削除された要素を配列形式で返します

5. 配列のインターセプトとマージ

/ /配列の一部を配列形式で返します。endを省略した場合は、start以降の要素がすべてコピーされます。

arrayObj.concat([item1[, item2] [, . [,itemN]] ]); // 複数の配列 (文字列、または配列と文字列の混合) を 1 つの配列に連結し、接続された新しい配列を返します。 🎜>

6. 配列のコピー
コードをコピーします


コードは次のとおりです。

arrayObj.slice(0); //配列を返します 配列をコピーします。arrayObj.concat() を指しているのではなく、新しい配列であることに注意してください。 //配列のコピー配列を返します。

7. 配列要素の並べ替え
コードをコピーします


コードは次のとおりです。
arrayObj.reverse() //Reverse要素 (最初の要素が最後に、最後の要素が先頭になります)、配列アドレスを返します

arrayObj.sort(); // 配列要素をソートし、配列アドレスを返します

8. 配列要素の文字列化
コードをコピー


コードは次のとおりです:

arrayObj.join(separator); //配列の各要素の値をセパレータで区切って結合した文字列を返します。
toLocaleString、toString、valueOf: は結合の特別な使用法と見なすことができ、一般的には使用されません

2. 配列オブジェクトの 3 つの属性

1. 長さ属性

Length 属性は配列の長さ、つまり配列内の要素の数を表します。配列のインデックスは常に 0 から始まるため、配列の上限と下限はそれぞれ 0 と length-1 になります。他のほとんどの言語とは異なり、JavaScript 配列の長さプロパティは可変であるため、特別な注意が必要です。 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 番目の要素が「未定義」になったことを表示
arr.length=10; //配列の長さを 10 に戻す
alert(arr[8]) //長さは 10 に戻りますが、 9 番目の要素は回復できません。「未定義」と表示されます

上記のコードから、length 属性の性質がはっきりとわかります。ただし、長さオブジェクトは明示的に設定できるだけでなく、暗黙的に変更することもできます。同様に、JavaScript で未定義の変数を使用することもできます (長さ以上のインデックスを持つ要素を参照します)。この場合、length 属性の値は に設定されます。使用される要素のインデックスの値に 1 を加算します。たとえば、次のコード:

コードをコピー コードは次のとおりです:

var arr=[12,23,5 ,3, 25,98,76,54,56,76];
alert(arr.length);
arr[15]=34;
alert(arr.length);

このコードでは、最初に 10 個の数値を含む配列も定義されています。アラート ステートメントから、その長さが 10 であることがわかります。次に、インデックス 15 の要素が使用され、値 15、つまり arr[15]=34 が割り当てられます。このとき、alert ステートメントは配列の長さを出力するために使用され、結果は 16 になります。いずれにしても、これは、厳密に型指定されたプログラミングに慣れている開発者にとっては驚くべき機能です。実際、 new Array() を使用して作成された配列の初期の長さは 0 です。配列の長さが変化するのは、未定義の要素の操作です。
上記の紹介からわかるように、length 属性は非常に魔法のようなもので、これを使用すると配列の容量を簡単に増減できます。したがって、length 属性を深く理解すると、開発プロセス中にそれを柔軟に使用するのに役立ちます。

2. プロトタイプ属性

オブジェクト型のプロトタイプへの参照を返します。プロトタイププロパティはオブジェクトに共通です。
objectName.prototype
objectName パラメーターは、オブジェクト オブジェクトの名前です。

説明: プロトタイプ属性を使用して、オブジェクトのクラスの基本関数のセットを提供します。 オブジェクトの新しいインスタンスは、オブジェクトのプロトタイプに割り当てられた操作を「継承」します。
配列オブジェクトの場合、次の例は、prototype 属性の使用法を示しています。
配列内の最大要素値を返すメソッドを配列オブジェクトに追加します。これを実現するには、関数を宣言し、それを Array.prototype に追加して使用します。

コードをコピー コードは次のとおりです。

function array_max()
{
var i,
max = this[0];
for (i = 1; i {
if (max 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. コンストラクター属性

はオブジェクトを作成する関数を表します。
object.constructor //object はオブジェクトまたは関数の名前です。

説明: コンストラクター プロパティは、プロトタイプを持つすべてのオブジェクトのメンバーです。これらには、Global オブジェクトと Math オブジェクトを除くすべての JScript ネイティブ オブジェクトが含まれます。コンストラクター プロパティは、特定のオブジェクト インスタンスを構築する関数への参照を保持します。

例:

コードをコピー コードは次のとおりです。

x = new String("Hi") ;
if (x.constructor == String) // 処理(条件が true の場合)。

または

コードをコピー コードは次のとおりです。

function MyFunc {
// 関数体。
}

コードをコピー コードは次のとおりです。

y = new MyFunc;
if (y.constructor == MyFunc) // 処理(条件が true の場合)。

配列の場合:

コードをコピー コードは次のとおりです:

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