Dichiara un array in TypeScript


102

Ho problemi a dichiarare o utilizzare un array booleano in Typescript, non sono sicuro di quale sia sbagliato. Ottengo un undefinederrore. Dovrei usare la sintassi JavaScript o dichiarare un nuovo oggetto Array?

Quale di questi è il modo corretto per creare l'array?

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

Come potrei inizializzare tutti i valori per essere falsi?

Come posso accedere ai valori, posso accedervi come, columns[i] = true;..?


1
la sintassi corretta è let array: boolean []; e sì, puoi accedervi nel modo in cui usi
Girdhari Agrawal

Risposte:


232

Ecco i diversi modi in cui puoi creare un array di booleani in dattiloscritto:

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

Puoi accedervi utilizzando l'indice:

console.log(arr[5]);

e aggiungi elementi usando push:

arr.push(true);

Quando si crea l'array è possibile fornire i valori iniziali:

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

1
C'è una buona ragione per avere così tanti modi diversi di dichiarare un array? arr5 e arr6 mi sembrano particolarmente fastidiosi.
Raphaël Gomès,

2
@ RaphaëlGomès È proprio come è javascript. Check out questa domanda per quanto riguarda Arr5 e arr6: stackoverflow.com/questions/8205691/...
Nitzan Tomer

@juanjinario non proprio. ci sono due problemi con esso. il primo è che non si assegna un valore reale alla variabile e quindi array.push(...)si finirà in un errore di runtime. inoltre, poiché non hai incluso alcun tipo per l'array che otterrai never[].
Nitzan Tomer

9

ecco come puoi creare un array di booleano in TS e inizializzarlo con false:

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

o un altro approccio può essere:

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

è possibile specificare il tipo dopo i due punti che in questo caso è un array booleano


5

Tipo specifico di matrice nel dattiloscritto

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

Un modo per dichiarare un array digitato in TypeScriptè

const booleans = new Array<Boolean>();

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.