Zadeklaruj tablicę w TypeScript

106

Mam problem z zadeklarowaniem lub używaniem tablicy logicznej w Typescript, nie wiem, która jest nieprawidłowa. Otrzymuję undefinedbłąd. Czy mam używać składni JavaScript lub zadeklarować nowy obiekt Array?

Który z poniższych sposobów jest prawidłowym sposobem tworzenia tablicy?

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

Jak zainicjować wszystkie wartości, aby były fałszywe?

Jak uzyskać dostęp do wartości, czy mogę uzyskać do nich dostęp, np. columns[i] = true;…?


źródło
1
poprawna składnia to let array: boolean []; i tak, możesz uzyskać do niego dostęp tak, jak używasz
Girdhari Agrawal

Odpowiedzi:

239

Oto różne sposoby tworzenia tablicy wartości logicznych w maszynie:

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

Możesz uzyskać do nich dostęp za pomocą indeksu:

console.log(arr[5]);

i dodajesz elementy za pomocą push:

arr.push(true);

Podczas tworzenia tablicy możesz podać wartości początkowe:

let arr1: boolean[] = [true, false];
let arr2: boolean[] = new Array(true, false);
Nitzan Tomer
źródło
1
Czy istnieje dobry powód, aby mieć tak wiele różnych sposobów deklarowania tablicy? arr5 i arr6 wydają mi się szczególnie drażniące.
Raphaël Gomès
2
@ RaphaëlGomès Taki właśnie jest javascript. Sprawdź to pytanie dotyczące arr5 i arr6: stackoverflow.com/questions/8205691/ ...
Nitzan Tomer
@juanjinario nie bardzo. są z tym dwa problemy. po pierwsze, nie przypisujesz zmiennej rzeczywistej wartości, co array.push(...)spowoduje błąd w czasie wykonywania. również, sinusoidy nie podałeś żadnego typu dla tablicy, którą otrzymasz never[].
Nitzan Tomer
9

w ten sposób możesz stworzyć tablicę wartości logicznych w TS i zainicjować ją wartością false:

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

lub innym podejściem może być:

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

możesz określić typ po dwukropku, który w tym przypadku jest tablicą logiczną

Kayani
źródło
5

Określony typ tablicy w maszynopisie

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
źródło
1

Jednym ze sposobów zadeklarowania wpisanej tablicy TypeScriptjest

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
źródło
0
let arr1: boolean[] = [];

console.log(arr1[1]);

arr1.push(true);
snehal badhe
źródło