Typescript-arrays

提供:Dev Guides
移動先:案内検索

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] のような宣言は、次のように配列を作成します-

配列の宣言と初期化

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

配列は、単一のステートメントで宣言および初期化できます。 同じための構文は-

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

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

配列要素へのアクセス

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

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.

リンク:/typescript/typescript_array_concat [concat()]

この配列を他の配列や値と結合した新しい配列を返します。

2.

リンク:/typescript/typescript_array_every [every()]

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

3.

リンク:/typescript/typescript_array_filter [filter()]

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

4.

リンク:/typescript/typescript_array_foreach [forEach()]

配列内の各要素に対して関数を呼び出します。

5.

リンク:/typescript/typescript_array_indexof [indexOf()]

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

6.

リンク:/typescript/typescript_array_join [join()]

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

7.

リンク:/typescript/typescript_array_lastindexof [lastIndexOf()]

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

8.

リンク:/typescript/typescript_array_map [map()]

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

9.

リンク:/typescript/typescript_array_pop [pop()]

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

10.

リンク:/typescript/typescript_array_push [push()]

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

11.

リンク:/typescript/typescript_array_reduce [reduce()]

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

12.

リンク:/typescript/typescript_array_reduceright [reduceRight()]

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

13.

リンク:/typescript/typescript_array_reverse [reverse()]

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

14.

リンク:/typescript/typescript_array_shift [shift()]

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

15.

リンク:/typescript/typescript_array_slice [slice()]

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

16.

リンク:/typescript/typescript_array_some [some()]

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

17.

リンク:/typescript/typescript_array_sort [sort()]

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

18.

リンク:/typescript/typescript_array_splice [splice()]

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

19.

リンク:/typescript/typescript_array_tostring [toString()]

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

20.

リンク:/typescript/typescript_array_unshift [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ループを使用した配列トラバーサル

*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. Concept & Description
1.

Multi-dimensional arrays

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

2.

Passing arrays to functions

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

3.

Return array from functions

関数が配列を返すことができます