Deklarieren Sie ein Array in TypeScript

100

Ich habe Probleme beim Deklarieren oder Verwenden eines booleschen Arrays in Typescript, nicht sicher, welches falsch ist. Ich bekomme eine undefinedFehlermeldung. Soll ich JavaScript-Syntax verwenden oder ein neues Array-Objekt deklarieren?

Welche davon ist der richtige Weg, um das Array zu erstellen?

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

Wie würde ich alle Werte so initialisieren, dass sie falsch sind?

Wie würde ich auf die Werte zugreifen, kann ich wie columns[i] = true;folgt darauf zugreifen ?


quelle
1
Die richtige Syntax lautet let array: boolean []; und ja, Sie können darauf zugreifen, wie Sie es verwenden
Girdhari Agrawal

Antworten:

228

Hier sind die verschiedenen Möglichkeiten, wie Sie ein Array von Booleschen Werten in Typoskript erstellen können:

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>();

Sie können über den Index darauf zugreifen:

console.log(arr[5]);

und Sie fügen Elemente mit push hinzu:

arr.push(true);

Beim Erstellen des Arrays können Sie die Anfangswerte angeben:

let arr1: boolean[] = [true, false];
let arr2: boolean[] = new Array(true, false);
Nitzan Tomer
quelle
1
Gibt es einen guten Grund für so viele verschiedene Möglichkeiten, ein Array zu deklarieren? arr5 und arr6 scheinen mir besonders beunruhigend.
Raphaël Gomès
2
@ RaphaëlGomès So ist Javascript eben. Schauen Sie sich diese Frage zu arr5 und arr6 an: stackoverflow.com/questions/8205691/…
Nitzan Tomer
@ Juanjinario nicht wirklich. Es gibt zwei Probleme damit. Das erste ist, dass Sie der Variablen keinen echten Wert zuweisen und dies zu array.push(...)einem Laufzeitfehler führen wird. Außerdem haben Sie keinen Typ für das Array angegeben, das Sie erhalten never[].
Nitzan Tomer
9

Auf diese Weise können Sie ein Array von Booleschen Werten in TS erstellen und mit false initialisieren:

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

oder ein anderer Ansatz kann sein:

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

Sie können den Typ nach dem Doppelpunkt angeben, der in diesem Fall ein boolesches Array ist

Kayani
quelle
5

Spezifischer Array-Typ im Typoskript

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
Mark Macneil Bikeio
quelle
1

Eine Möglichkeit, ein typisiertes Array zu deklarieren, TypeScriptist

const booleans = new Array<Boolean>();

// or, if you have values to initialize 
const booleans: Array<Boolean> = [true, false, true];
const valFalse = booleans[1];
Arghya C.
quelle
0
let arr1: boolean[] = [];

console.log(arr1[1]);

arr1.push(true);
Snehal Badhe
quelle