TypeScriptで配列を宣言する


101

Typescriptでブール配列を宣言または使用する際に問題が発生していますが、どちらが間違っているかわかりません。私が取得undefinedエラー。JavaScript構文を使用するか、新しいArrayオブジェクトを宣言することになっていますか?

これらのうちどれが配列を作成する正しい方法ですか?

private columns = boolean[];
private columns = [];
private columns = new Array<boolean>();

すべての値をfalseに初期化するにはどうすればよいですか?

どのように値にアクセスしcolumns[i] = true;ますか?..?


1
正しい構文はlet配列です:boolean []; はい、ご使用の方法でアクセスできます
Girdhari Agrawal '10

回答:


229

typescriptでブール値の配列を作成するさまざまな方法を次に示します。

let arr1: boolean[] = [];
let arr2: boolean[] = new Array();
let arr3: boolean[] = Array();

let arr4: Array<boolean> = [];
let arr5: Array<boolean> = new Array();
let arr6: Array<boolean> = Array();

let arr7 = [] as boolean[];
let arr8 = new Array() as Array<boolean>;
let arr9 = Array() as boolean[];

let arr10 = <boolean[]> [];
let arr11 = <Array<boolean>> new Array();
let arr12 = <boolean[]> Array();

let arr13 = new Array<boolean>();
let arr14 = Array<boolean>();

インデックスを使用してそれらにアクセスできます。

console.log(arr[5]);

プッシュを使用して要素を追加します。

arr.push(true);

配列を作成するときに、初期値を指定できます。

let arr1: boolean[] = [true, false];
let arr2: boolean[] = new Array(true, false);

1
配列を宣言する非常に多くの異なる方法がある理由はありますか?arr5とarr6は特に私には不快に思われます。
ラファエル・ゴメス

2
@RaphaëlGomèsこれは、javascriptと同じです。ARR5とARR6に関するこの質問をチェックアウト:stackoverflow.com/questions/8205691/...
Nitzan Tomer

@juanjinarioはそうではありません。これには2つの問題があります。1つ目は、実際の値を変数に割り当てないためarray.push(...)、ランタイムエラーが発生することです。また、取得する配列の型が含まれていないこともわかりますnever[]
Nitzan Tomer

9

これは、TSでブール値の配列を作成し、falseで初期化する方法です。

var array: boolean[] = [false, false, false]

または別のアプローチは次のとおりです。

var array2: Array<boolean> =[false, false, false] 

コロンの後にタイプを指定できます。この場合はブール配列です。


5

typescript内の特定のタイプの配列

export class RegisterFormComponent 
{
     genders = new Array<GenderType>();   // Use any array supports different kind objects

     loadGenders()
     {
        this.genders.push({name: "Male",isoCode: 1});
        this.genders.push({name: "FeMale",isoCode: 2});
     }
}

type GenderType = { name: string, isoCode: number };    // Specified format

1

型付き配列を宣言する1つの方法TypeScriptは、

const booleans = new Array<Boolean>();

// or, if you have values to initialize 
const booleans: Array<Boolean> = [true, false, true];
const valFalse = booleans[1];

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.