TypeScript-配列

変数を使用して値を格納すると、次の制限が発生します-

  • 変数は本質的にスカラーです。つまり、変数宣言には一度に1つしか含めることができません。これは、プログラムにn個の値を格納するには、n個の変数宣言が必要になることを意味します。したがって、より多くの値のコレクションを格納する必要がある場合、変数の使用は実行できません。

  • プログラム内の変数にはランダムな順序でメモリが割り当てられるため、宣言された順序で値を取得/読み取ることが困難になります。

TypeScriptは、同じことに取り組むために配列の概念を導入します。配列は、値の同種のコレクションです。簡単にするために、配列は同じデータ型の値のコレクションです。これはユーザー定義型です。

アレイの機能

これがアレイの機能のリストです-

  • 配列宣言は、シーケンシャルメモリブロックを割り当てます。

  • 配列は静的です。これは、一度初期化された配列のサイズを変更できないことを意味します。

  • 各メモリブロックは配列要素を表します。

  • 配列要素は、要素の添え字/インデックスと呼ばれる一意の整数によって識別されます。

  • 変数と同様に、配列も使用する前に宣言する必要があります。varキーワードを使用して、配列を宣言します。

  • 配列の初期化とは、配列要素にデータを入力することです。

  • 配列要素の値は更新または変更できますが、削除することはできません。

配列の宣言と初期化

Typescriptで配列の初期化を宣言するには、次の構文を使用します-

構文

var array_name[:datatype];        //declaration 
array_name = [val1,val2,valn..]   //initialization

データ型のない配列宣言は、any型と見なされます。このような配列の型は、初期化中に配列の最初の要素のデータ型から推測されます。

たとえば、-のような宣言 var numlist:number[] = [2,4,6,8] 以下のような配列を作成します-

配列ポインタは、デフォルトで最初の要素を参照します。

Arrays may be declared and initialized in a single statement。同じ構文は次のとおりです。

var array_name[:data type] = [val1,val2…valn]

Note − []のペアは、配列の次元と呼ばれます。

配列要素へのアクセス

配列名の後に添え字が続くのは、配列要素を参照するために使用されます。その構文は次のとおりです-

array_name[subscript] = value

例:単純な配列

var alphas:string[]; 
alphas = ["1","2","3","4"] 
console.log(alphas[0]); 
console.log(alphas[1]);

コンパイル時に、次のJavaScriptコードが生成されます-

//Generated by typescript 1.8.10
var alphas;
alphas = ["1", "2", "3", "4"];
console.log(alphas[0]);
console.log(alphas[1]);

上記のコードの出力は次のとおりです-

1 
2

例:単一ステートメントの宣言と初期化

var nums:number[] = [1,2,3,3] 
console.log(nums[0]); 
console.log(nums[1]); 
console.log(nums[2]); 
console.log(nums[3]);

コンパイル時に、次のJavaScriptコードが生成されます-

//Generated by typescript 1.8.10
var nums = [1, 2, 3, 3];
console.log(nums[0]);
console.log(nums[1]);
console.log(nums[2]);
console.log(nums[3]);

その出力は次のとおりです-

1 
2 
3 
3

配列オブジェクト

配列は、Arrayオブジェクトを使用して作成することもできます。配列コンストラクターを渡すことができます。

  • 配列のサイズを表す数値または

  • カンマ区切り値のリスト。

次の例は、このメソッドを使用して配列を作成する方法を示しています。

var arr_names:number[] = new Array(4)  

for(var i = 0;i<arr_names.length;i++) { 
   arr_names[i] = i * 2 
   console.log(arr_names[i]) 
}

コンパイル時に、次のJavaScriptコードが生成されます。

//Generated by typescript 1.8.10
var arr_names = new Array(4);

for (var i = 0; i < arr_names.length; i++) {
   arr_names[i] = i * 2;
   console.log(arr_names[i]);
}

その出力は次のとおりです-

0 
2 
4 
6

例:配列コンストラクターはコンマ区切りの値を受け入れます

var names:string[] = new Array("Mary","Tom","Jack","Jill") 

for(var i = 0;i<names.length;i++) { 
   console.log(names[i]) 
}

コンパイル時に、次のJavaScriptコードが生成されます-

//Generated by typescript 1.8.10
var names = new Array("Mary", "Tom", "Jack", "Jill");
for (var i = 0; i < names.length; i++) {
   console.log(names[i]);
}

その出力は次のとおりです-

Mary 
Tom 
Jack 
Jill

配列メソッド

Arrayオブジェクトのメソッドのリストとその説明を以下に示します。

S.No. 方法と説明
1.1。 concat()

他の配列や値と結合されたこの配列で構成される新しい配列を返します。

2.2。 every()

この配列のすべての要素が提供されたテスト関数を満たしている場合、trueを返します。

3.3。 フィルタ()

提供されたフィルタリング関数がtrueを返す、この配列のすべての要素を使用して新しい配列を作成します。

4.4。 forEach()

配列内の要素ごとに関数を呼び出します。

5.5。 の指標()

指定された値に等しい配列内の要素の最初の(最小の)インデックスを返します。何も見つからない場合は-1を返します。

6.6。 join()

配列のすべての要素を文字列に結合します。

7。 lastIndexOf()

指定された値に等しい配列内の要素の最後の(最大の)インデックスを返します。何も見つからない場合は-1を返します。

8.8。 地図()

この配列のすべての要素で提供された関数を呼び出した結果を使用して、新しい配列を作成します。

9.9。 ポップ()

配列から最後の要素を削除し、その要素を返します。

10.10。 押す()

配列の最後に1つ以上の要素を追加し、配列の新しい長さを返します。

11.11。 reduce()

配列の2つの値(左から右)に対して同時に関数を適用して、配列を1つの値に減らします。

12.12。 reduceRight()

配列の2つの値(右から左)に対して同時に関数を適用して、配列を1つの値に減らします。

13.13。 逆行する()

配列の要素の順序を逆にします。最初が最後になり、最後が最初になります。

14.14。 シフト()

配列から最初の要素を削除し、その要素を返します。

15.15。 スライス()

配列のセクションを抽出し、新しい配列を返します。

16.16。 いくつか()

この配列の少なくとも1つの要素が、提供されたテスト関数を満たしている場合、trueを返します。

17.17。 ソート()

配列の要素を並べ替えます。

18.18。 スプライス()

配列に要素を追加および/または削除します。

19。 toString()

配列とその要素を表す文字列を返します。

20。 unshift()

配列の前に1つ以上の要素を追加し、配列の新しい長さを返します。

アレイの破壊

エンティティの構造を分割することを指します。TypeScriptは、配列のコンテキストで使用される場合、破棄をサポートします。

var arr:number[] = [12,13] 
var[x,y] = arr 
console.log(x) 
console.log(y)

コンパイル時に、次のJavaScriptコードが生成されます。

//Generated by typescript 1.8.10
var arr = [12, 13];
var x = arr[0], y = arr[1];
console.log(x);
console.log(y);

その出力は次のとおりです-

12 
13

for…inループを使用した配列トラバーサル

1つを使用することができます for…in 配列をトラバースするためのループ。

var j:any; 
var nums:number[] = [1001,1002,1003,1004] 

for(j in nums) { 
   console.log(nums[j]) 
}

ループは、インデックスベースの配列トラバーサルを実行します。

コンパイル時に、次のJavaScriptコードが生成されます。

//Generated by typescript 1.8.10
var j;
var nums = [1001, 1002, 1003, 1004];

for (j in nums) {
   console.log(nums[j]);
}

上記のコードの出力を以下に示します-

1001 
1002 
1003 
1004

TypeScriptの配列

TypeScriptは、配列で次の概念をサポートします-

S.No. コンセプトと説明
1.1。 多次元配列

TypeScriptは多次元配列をサポートしています。多次元配列の最も単純な形式は、2次元配列です。

2.2。 関数に配列を渡す

インデックスなしで配列の名前を指定することにより、配列へのポインタを関数に渡すことができます。

3.3。 関数から配列を返す

関数が配列を返すことを許可します