2016-08-10 16 views
29

Mam problem z zadeklarowaniem lub użyciem tablicy boolowskiej w maszynie do pisania, nie wiem, która z nich jest nieprawidłowa. Otrzymuję błąd undefined. Czy mam używać składni JavaScript lub zadeklarować nowy obiekt Array?Zadeklaruj tablicę w TypeScript

Który z nich jest prawidłowy sposób tworzenia tablicy?

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

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

W jaki sposób uzyskać dostęp do wartości, czy mogę uzyskać do nich dostęp, np. columns[i] = true; ..?

+0

poprawna składnia to let tablica: boolean []; i tak możesz uzyskać do niego dostęp w taki sposób, w jaki używasz –

Odpowiedz

79

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

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

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

console.log(arr[5]); 

i dodawanie elementów za pomocą przycisku:

arr.push(true); 

Tworząc tablicę można dostarczać początkowe wartości:

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

Czy istnieje dobry powód, aby mieć tak wiele różnych sposobów deklarowania tablicy? arr5 i arr6 wydają mi się szczególnie nieprzyjemne. –

+1

@ RaphaëlGomès Tak po prostu jest javascript. Sprawdź to pytanie dotyczące arr5 i arr6: https://stackoverflow.com/questions/8205691/coffeescript-array-vs-new-array –

3

ten sposób można utworzyć tablicę logiczną w TS i zainicjować go fałsz:

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

lub inne podejście może być:

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

można określić typ po dwukropku w tym przypadku jest to tablica boolowska: