182 votes

Déclarer un tableau en TypeScript

J'ai du mal à déclarer ou à utiliser un tableau de booléens dans Typescript, je ne suis pas sûr de ce qui ne va pas. J'obtiens un undefined erreur. Suis-je censé utiliser la syntaxe JavaScript ou déclarer un nouvel objet Array ?

Laquelle de ces méthodes est la bonne pour créer le tableau ?

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

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

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

1 votes

La syntaxe correcte est let array : boolean[] ; et oui, vous pouvez y accéder de la manière dont vous utilisez

376voto

Nitzan Tomer Points 11798

Voici les différentes façons de créer un tableau de booléens en écriture standard :

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

Vous pouvez y accéder en utilisant l'index :

console.log(arr[5]);

et vous ajoutez des éléments en utilisant la fonction "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);

5 votes

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 gênants.

3 votes

@RaphaëlGomès C'est juste la façon dont est le javascript. Consultez cette question concernant arr5 et arr6 : stackoverflow.com/questions/8205691/

0 votes

Le premier est que vous n'attribuez pas de valeur réelle à la variable, et donc array.push(...) se terminera par une erreur d'exécution. De plus, si vous n'avez pas inclus de type pour le tableau, vous obtiendrez never[] .

18voto

Kayani Points 627

C'est ainsi que 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.

9voto

Drua Points 69

Type spécifique de tableau dans les scripts

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

7voto

Arghya C Points 1381

Peu de façons de déclarer un tableau typé en TypeScript sont

const booleans: Array<boolean> = new Array<boolean>();
// OR, JS like type and initialization
const booleans: boolean[] = [];

// or, if you have values to initialize 
const booleans: Array<boolean> = [true, false, true];
// get a vaue from that array normally
const valFalse = booleans[1];

2voto

snehal badhe Points 218
let arr1: boolean[] = [];

console.log(arr1[1]);

arr1.push(true);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X