Déclarer un tableau dans TypeScript

102

J'ai du mal à déclarer ou à utiliser un tableau booléen dans Typescript, je ne sais pas ce qui est faux. J'obtiens une undefinederreur. Suis-je censé utiliser la syntaxe JavaScript ou déclarer un nouvel objet Array?

Laquelle de celles-ci est la bonne façon de créer le tableau?

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

Comment initialiserais-je toutes les valeurs pour qu'elles soient fausses?

Comment accéder aux valeurs, puis-je y accéder comme, columns[i] = true;..?


la source
1
la syntaxe correcte est let array: boolean []; et oui, vous pouvez y accéder comme vous l'utilisez
Girdhari Agrawal

Réponses:

232

Voici les différentes manières dont vous pouvez créer un tableau de booléens en typographie:

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

Vous pouvez y accéder à l'aide de l'index:

console.log(arr[5]);

et vous ajoutez des éléments en utilisant push:

arr.push(true);

Lors de la création du tableau, vous pouvez fournir les valeurs initiales:

let arr1: boolean[] = [true, false];
let arr2: boolean[] = new Array(true, false);
Nitzan Tomer
la source
1
Y a-t-il une bonne raison d'avoir autant de façons différentes de déclarer un tableau? arr5 et arr6 me semblent particulièrement choquants.
Raphaël Gomès
2
@ RaphaëlGomès C'est juste la façon dont javascript est. Consultez cette question concernant arr5 et arr6: stackoverflow.com/questions/8205691/…
Nitzan Tomer
@juanjinario pas vraiment. il y a deux problèmes avec cela. la première est que vous n'attribuez pas de valeur réelle à la variable, et vous finirez ainsi array.push(...)par une erreur d'exécution. aussi, si vous n'avez inclus aucun type pour le tableau que vous obtiendrez never[].
Nitzan Tomer le
9

voici comment vous pouvez créer un tableau de booléens dans TS et l'initialiser avec false:

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

ou une autre approche peut être:

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

vous pouvez spécifier le type après les deux points qui dans ce cas est un tableau booléen

Kayani
la source
5

Type spécifique de tableau en typographie

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
la source
1

Une façon de déclarer un tableau typé dans TypeScriptest

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
la source
0
let arr1: boolean[] = [];

console.log(arr1[1]);

arr1.push(true);
snehal badhe
la source