//1. 类型 + 方括号
let arr2: number[] = [12,23,45]
let arr3: string[] = ['1', '2', '3'];
let arr4: any[] = ['1', '2', '3',1];
//2. 数组 泛型
let arr: Array<number> = [12, 23, 45]
//3. 更常用的 接口表示法
interface IArr {
[index:number]:number
}
var arr5: IArr = [1, 2, 3]
interface Isate {
username: string,
age:number
}
let arr6: Isate[] = [{
username: 'qdleader',
age:12
}];
let arr7:Array<Isate> = [{
username: 'qdleader',
age:12
}];
interface IArr1 {
[index:number]:Isate
}
let arr8: IArr1 = [{
username: 'qdleader',
age:12
}]
元组
数组合并相同类型的对象,而元祖(Tuple)合并了不同类型的对象 元组可以属于理解成一个任意类型并且长度有限的数组
简单的例子
let tom: [string, number] = ['Tom', 25];
let tom: [string, number];
tom[0] = 'Tom';
tom[1] = 25;
tom[0].slice(1);
tom[1].toFixed(2);
let tom: [string, number];
tom = ['Tom'];
// Property '1' is missing in type '[string]' but required in type '[string, number]'.
元组越界
当添加的元组越界的时候,越界的类型会被限制为元组类型中每个类型的联合类型
let tom: [string, number];
tom = ['Tom', 25];
tom.push('male');
tom.push(true);