@数组:
第一:基础类型 + 方括号
var shuzu =function(){
let crr:number[]=[1,2,3,4,5];
for(var items in crr){
console.log(crr[items]);
}
}
shuzu();
注意:
数组中的项不允许出现其他类型的数据
第二:数组泛型
var shuzu =function(){
let arr:Array<string>=['歆瑗网络','教师节快乐'];
for(var items in arr){
console.log(arr[items]);
}
}
shuzu();
注意:
数组中的项不允许出现其他类型的数据
第三:接口数组
interface NumberArray{
[index:number]:string
}
var shuzu =function(){
let crr:NumberArray=['1','2'];
for(var items in crr){
console.log(crr[items]);
}
}
shuzu();
接口解释:NumberArray 表示:只要 index 的类型是 number,那么值的类型必须是 string。
第四:any在数组中的应用
var shuzu =function(){
let crr: any[] = ['Yang Wei Xin', 18, { website: 'https://www.baidu.com' }];
for(var items in crr){
console.log(crr[items]);
console.log(`${crr[items]}`);
}
}
shuzu();
注意:
any 表示数组中允许出现任意类型数据
第五:map数组 及 多种遍历方式
var shuzu =function(){
let mapArray= new Map<string, string>();
mapArray.set("a1","1");
mapArray.forEach((value , key) =>{
console.log(key +" "+value);
});
let map= new Map();
map.set("a2",2);
map.set("a1",1);
map.forEach((value , key) =>{
console.log(key +" "+value);
});
}
shuzu();
注意:
Map,Set 和 Promise 是 ES6 特性。
参考网址:https://www.jianshu.com/p/cd454aa2bea9
第一种遍历方式:
map.forEach((value , key) =>{
.....
});
第二种遍历方式:
var shuzu =function(){
let map= new Map<number,string>();
map.set(1,"a1");
map.set(2,"a2");
for(let items of map.values()){
console.log(items);
}
}
shuzu();
区别:
1、在循环对象属性的时候,使用for...in ; 在遍历数组的时候的时候使用for...of。
2、for...in循环出的是key,for...of循环出的是value
第三种遍历方式:
var shuzu =function(){
let map= new Map<number,string>();
map.set(1,"a1");
map.set(2,"a2");
let iterator = map.values();
let r: IteratorResult<string>;
while (r = iterator.next() , !r.done) {
console.log(r.value);
}
}
shuzu();
第六:二维数组 及 正确的初始化
var shuzu =function(){
let twoM : string[][] = [];
//或let twoM : Array<Array<string>> = new Array<Array<string>>();
twoM[0] = ["a1", "a2", "a3"] //直接赋值数组
twoM.push([]) //先插入一个空的数组
twoM[1][1] = "b2" //再向刚插入的数组赋值
for(let x of twoM){
for(let y of x){
console.log(y);
}
console.log(x);
}
}
shuzu();
@元组:
var shuzu =function(){
let x: [string, number];
x = ['蚂蚁部落', 5];
x[2]=2;
for(let v of x){
console.log(v);
}
}
shuzu();
注意:
1、数组中的数据类型必须和规定的类型顺序对应起来
2、当使用越界索引给数组赋值的时候,会使用联合类型(只要值是规定类型的某一种即可)。
网友评论