在TypeScript中声明一个数组

79 javascript arrays typescript

我在Typescript中声明或使用布尔数组时遇到问题,不确定哪个是错误的.我收到一个undefined错误.我应该使用JavaScript语法还是声明一个新的Array对象?

其中哪一个是创建阵列的正确方法?

private columns = boolean[];
private columns = [];
private columns = new Array<boolean>();
Run Code Online (Sandbox Code Playgroud)

如何将所有值初始化为false?

我如何访问这些值,我可以像columns[i] = true;... 一样访问它们吗?

Nit*_*mer 186

以下是在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>();
Run Code Online (Sandbox Code Playgroud)

您可以使用索引访问它们:

console.log(arr[5]);
Run Code Online (Sandbox Code Playgroud)

并使用push添加元素:

arr.push(true);
Run Code Online (Sandbox Code Playgroud)

创建阵列时,您可以提供初始值:

let arr1: boolean[] = [true, false];
let arr2: boolean[] = new Array(true, false);
Run Code Online (Sandbox Code Playgroud)

  • 有这么多不同的方式来声明一个数组是否有充分的理由?arr5 和 arr6 对我来说似乎特别刺耳。 (2认同)
  • @RaphaëlGomès这就是javascript的方式.看看关于arr5和arr6的这个问题:/sf/ask/574398401/ (2认同)

小智 9

这是你如何在TS中创建一个布尔数组并用false初始化它:

var array: boolean[] = [false, false, false]
Run Code Online (Sandbox Code Playgroud)

或另一种方法可以是:

var array2: Array<boolean> =[false, false, false] 
Run Code Online (Sandbox Code Playgroud)

你可以在冒号后指定类型,在这种情况下是布尔数组


Arg*_*a C 7

声明类型化数组的几种方法TypeScript

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];
Run Code Online (Sandbox Code Playgroud)


Mar*_*eio 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
Run Code Online (Sandbox Code Playgroud)