Заявіть масив у TypeScript


102

У мене проблеми з оголошенням або використанням логічного масиву в Typescript, не впевнений, що неправильно. Я отримую undefinedпомилку. Чи повинен я використовувати синтаксис JavaScript або оголошувати новий об’єкт масиву?

Який із них є правильним способом створення масиву?

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

Як би я ініціалізував усі значення, щоб вони були помилковими?

Як я можу отримати доступ до значень, чи можу я отримати доступ до них, як, columns[i] = true;..?


1
правильний синтаксис нехай масив: boolean []; і так, ви можете отримати до нього доступ так, як ви використовуєте
Girdhari Agrawal

Відповіді:


232

Ось різні способи, за допомогою яких ви можете створити масив логічних типів у TypeScript:

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

Ви можете отримати доступ до них за допомогою індексу:

console.log(arr[5]);

і ви додаєте елементи за допомогою push:

arr.push(true);

Під час створення масиву ви можете надати початкові значення:

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

1
Чи є поважна причина для того, щоб мати стільки різних способів оголошення масиву? arr5 та arr6 здаються мені особливо неприємними.
Рафаель Гомес,

2
@ RaphaëlGomès Це просто так, як javascript. Перевірте це питання щодо arr5 і arr6: stackoverflow.com/questions/8205691 / ...
Nitzan Томер

@juanjinario не дуже. з цим є дві проблеми. по-перше, ви не присвоюєте змінній реальне значення, і тому ви array.push(...)отримаєте помилку виконання. також, синус, ви не включили жодного типу для масиву, який ви отримаєте never[].
Нітзан Томер

9

ось як ви можете створити масив булевих значень у TS та ініціалізувати його значенням false:

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

або інший підхід може бути:

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

Ви можете вказати тип після двокрапки, який у цьому випадку є логічним масивом


5

Конкретний тип масиву в машинописі

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

Одним із способів оголошення набраного масиву TypeScriptє

const booleans = new Array<Boolean>();

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.