Khai báo một mảng trong TypeScript


101

Tôi đang gặp sự cố khi khai báo hoặc sử dụng mảng boolean trong Typescript, không chắc cái nào sai. Tôi nhận được mộtundefined lỗi. Tôi có phải sử dụng cú pháp JavaScript hay khai báo một đối tượng Mảng mới không?

Cách nào sau đây là đúng để tạo mảng?

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

Làm cách nào để khởi tạo tất cả các giá trị là false?

Tôi sẽ truy cập các giá trị như thế nào, tôi có thể truy cập chúng như thế nào, columns[i] = true;..?


1
cú pháp đúng là let array: boolean []; và có bạn có thể truy cập nó theo cách bạn đang sử dụng
Girdhari Agrawal

Câu trả lời:


229

Dưới đây là các cách khác nhau mà bạn có thể tạo một mảng boolean trong typecript:

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

Bạn có thể truy cập chúng bằng chỉ mục:

console.log(arr[5]);

và bạn thêm các phần tử bằng cách sử dụng push:

arr.push(true);

Khi tạo mảng, bạn có thể cung cấp các giá trị ban đầu:

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

1
Có lý do chính đáng cho việc có rất nhiều cách khác nhau để khai báo một Mảng không? arr5 và arr6 có vẻ đặc biệt chói tai đối với tôi.
Raphaël Gomès

2
@ RaphaëlGomès Đó chỉ là cách javascript. Kiểm tra câu hỏi này liên quan đến arr5 và arr6: stackoverflow.com/questions/8205691/...
Nitzan Tomer

@juanjinario không hẳn vậy. có hai vấn đề với nó. đầu tiên là bạn không gán giá trị thực cho biến, và như vậy array.push(...)sẽ dẫn đến lỗi thời gian chạy. ngoài ra, bạn chưa bao gồm bất kỳ kiểu nào cho mảng mà bạn sẽ nhận được never[].
Nitzan Tomer

9

đây là cách bạn có thể tạo một mảng boolean trong TS và khởi tạo nó bằng false:

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

hoặc một cách tiếp cận khác có thể là:

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

bạn có thể chỉ định kiểu sau dấu hai chấm mà trong trường hợp này là mảng boolean


5

Loại mảng cụ thể trong bảng chữ

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

Một cách khai báo mảng đã nhập TypeScript

const booleans = new Array<Boolean>();

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.