美文网首页
TS基础篇2:数组 及 元组

TS基础篇2:数组 及 元组

作者: 一眼就认出你 | 来源:发表于2018-09-09 01:22 被阅读0次

@数组:

第一:基础类型 + 方括号

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、当使用越界索引给数组赋值的时候,会使用联合类型(只要值是规定类型的某一种即可)。

相关文章

  • TS基础篇2:数组 及 元组

    @数组: 第一:基础类型 + 方括号 注意: 数组中的项不允许出现其他类型的数据 第二:数组泛型 注意: 数组中的...

  • TS1 基本语法

    ts 指令 基本用法 object 函数 数组 元组 tuple(固定长度的数组) 枚举 enum 或 | 与 ...

  • TypeScript02--基础数据类型与接口

    基础数据类型: 1.ts的基础数据类型: ts相比js新增的数据类型:元组,any,void,neve...

  • TS基础(十一)元组

    数组合并想用类型的对象,而元祖(Tuple)合并了不同类型的对象元组可以属于理解成一个任意类型并且长度有限的数组 ...

  • 1.数据类型-基本的数据类型

    布尔类型 数值类型 字符串类型 数组类型 ts定义数组有两种数组类型 元组类型 属于数组的一种: 可以给数组中的每...

  • typescript进阶之旅

    一、基础类型 1. 布尔 2. 数字 3. string 4. 数组 5. 元组 元组类型允许表示一个已知元素数量...

  • typescript类型

    布尔、字符串、数字、数组、对象在原生数组的基础上 元组 Tuple 元组类型允许表示一个已知元素数量和类型的数组,...

  • scala中的模式匹配

    一、常量、类型匹配 二、 数组列表和元组匹配 1. 数组 2. 元组 3. 列表

  • TS使用归档

    TS特有de概念 元组 指定数组每个元素的类型 特点 在初始化时,必须按限定的类型和个数赋值; 可以通过数组的方法...

  • 基础类型

    2.基础类型 TS中冒号后面的都为类型标识 一.布尔、数字、字符串类型 二.元组类型 限制长度个数、类型一一对应 ...

网友评论

      本文标题:TS基础篇2:数组 及 元组

      本文链接:https://www.haomeiwen.com/subject/ngtrgftx.html