美文网首页
typescript笔记(九)

typescript笔记(九)

作者: 执剑饮烈酒 | 来源:发表于2020-05-27 12:04 被阅读0次

    Array(数组)

    一、语法:

    var array_name[:datatype];        //声明

    array_name = [val1,val2,valn..]  //初始化

    或者

    var array_name[:data type] = [val1,val2…valn]

    如果数组声明时未设置类型,则会被认为是 any 类型

    实例:

    例如:

    根据索引

    let arr : string[];

    arr = ['tianjin','beijing','hebei'];

    console.log(arr[0]); //tianjin

    console.log(arr[2]);  //hebei

    声明时直接初始化

    let str : number[] = [1,2,3,4];

    console.log(str[0])  //1

    console.log(str[2])    //3

    console.log(str[3])    //4

    二、数组对象

    Array 对象的构造函数接受以下两种值:

    表示数组大小的数值。

    初始化的数组列表,元素使用逗号分隔值。

    例如:

    let arr_names:number[] = new Array(4);

    for(let i = 0; i < arr_names.length; i++){

        arr_names[i] = i * 2;

        console.log(arr_names[i]);      // 0 2 4 6

    }

    let a:string[] = new Array('tianjin','hebei','beijing')

    for(let j = 0; j <a.length; j++){

        console.log(a[j]); //tianjin hebei beijing

    }

    三、数组解构

    数组元素赋值给变量;

    例如:

    let arr:number[] = [12,23];

    let [x,y] =    //arr; 将数组arr的两个变量赋值给x y;

    console.log(x,y)    //12 23

    四、数组迭代

    使用 for 语句来循环输出数组的各个元素:

    例如:

    let j : any;

    var num : number[] = [12,23,34,45];

    for( j in num){

        console.log(num[j]) //12 23 34 45

    }

    五、多维数组:一个数组的元素可以是另外一个数组

    例如:

    let arr:number[][] = [[1,2,3],[23,24,25]];

    console.log(arr[0][0])  //1

    console.log(arr[0][1])  //2

    console.log(arr[0][2])  //3

    console.log(arr[1][0])  //23

    console.log(arr[1][1])  //24

    console.log(arr[1][2])  //25

    六、数组在函数中使用

    1、作为参数

    例如:

    let arr : string[] = new Array('tianjin','hebei','beijing');

    function fn(arr:string[]){

        for(let j = 0; j < arr.length; j++){

            console.log(arr[j]);    //tianjin hebei beijing

        }

    }

    fn(arr);

    2、返回值

    例如:

    function fn(){

        return new Array('tianjin','hebei','beijing')

    }

    var num = fn();

    for(let i in num){

        console.log(num[i]);        //tianjin hebei beijing

    }

    七、数组方法:concat、every、filter、foreach、indexof、join、lastindexof、map、pop、push、reduce、reduceright、reverse、shift、slice、some、sort、splice、tostring、UNshift

    1)、concat:连接两个或更多的数组,并返回结果。

    例如:

    var i:string= 'tianjin';

    var j : string = 'hebei';

    console.log(i.concat(j));

    2)、every:检测数值元素的每个元素是否都符合条件。

    注意:是对数组中每一项运行给定函数,如果该函数对每一项返回true,则返回true;从迭代开始,一旦有一个不符合条件,则不会继续迭代下去。

    例如:

    let arr = [ 12, 23, 34, 45,56, 67 ];

    console.log( arr.every( function( item, index, array ){

        console.log( 'item=' + item + ',index=' + index+',array=' + array );

        return item > 3;

    }));

    item=12,index=0,array=12,23,34,45,56,67

    item=23,index=1,array=12,23,34,45,56,67

    item=34,index=2,array=12,23,34,45,56,67

    item=45,index=3,array=12,23,34,45,56,67

    item=56,index=4,array=12,23,34,45,56,67

    item=67,index=5,array=12,23,34,45,56,67

    true

    3)、filter:检测数值元素,并返回符合条件所以元素的数组

    例如:

    function is(element,index,array){

        return (element < 10);

    }

    let arr = [1,2,3,4,44,22,35,77].filter(is);

    console.log('value'+arr);  //value1,2,3,4

    4)、foreach:每个元素都执行一次回调函数。

    例如:

    let num = [7,8,9];

    num.forEach(function(value){

        console.log(value);    //7 8 9

    })

    5)、indexof:搜索数组中的元素,并返回所在位置;如果搜索不到返回-1.代表没有此项。

    例如:

    let index = [12, 23, 34, 5, 5].indexOf(5);

    console.log("index is :" + index);  //下标

    6)、join()把数组的所有元素放入一个字符串。

    例如:

    let arr = new Array('first','second','this');

    let a = arr.join();

    console.log('a'+a)

    let r = arr.join();

    console.log('r'+r)

    let s = arr.join();

    console.log('s'+s)

    结果:

    afirst,second,this

    rfirst,second,this

    sfirst,second,this

    7)、lastIndexOf()返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。

    例如:

    let index = [12,2,3,34,45,56].lastIndexOf(45)

    console.log(index) //4

    8)、map()通过指定函数处理数组的每个元素,并返回处理后的数组

    例如:

    var numbers = [1, 16, 25];

    var roots = numbers.map(Math.sqrt);

    // Math.sqrt  返回一个正平方根

    console.log("roots is : " + roots );  // 1,4,5

    9)、pop:删除数组的最后一个元素并返回删除的元素

    例如:

    let num = [1,4,9];

    let element = num.pop();

    console.log(element)    //9

    let element1 = num.pop();

    console.log(element1)      //4

    10)、push:向数组的末尾添加一个或更多元素,并返回新的长度。

    例如:

    let num = new Array(1,2,3,4);

    let leng = num.push(9);

    console.log(leng);  //5

    let lent = num.push(6);

    console.log(lent)  //6

    11)、reduce:将数组元素计算为一个值(从左到右);

    例如:

    let total = [0,2,4,6].reduce(function(a,b){

        return a + b;

    })

    console.log(total);    //12

    12)、reduceright:将数组元素计算为一个值(从右到左)

    例如:

    let total = [1,3,5,7].reduceRight(function(a,b){

        return a + b;

    })

    console.log(total);    //16

    13)、reverse:反转数组元素顺序。

    例如:

    let arr = [1,2,3,4,5,6].reverse();

    console.log(arr);  //6 5 4 3 2 1

    14)、shift:删除并返回数组第一个元素;

    例如:

    let arr = [22,3,2,4,4].shift();

    console.log(arr);  //22

    15)、slice:选取数组的一部分,并返回一个新数组;

    例如:

    let str = ['tianjin','hebei','beijing'];

    console.log(str.slice(1,2));        //hebei

    console.log(str.slice(1,3))    //hebei beijing

    16)、some()检测数组元素中是否有元素符合指定条件。

    例如:

    function is(item,index,array){

        return (item >= 8)

    }

    let ret = [2,5,8,1,4].some(is);

    console.log(ret);      //8

    17)、sort()数组排序

    例如:

    let arr = new Array('tianjin','beijing','hebei');

    let s = arr.sort();

    console.log(s);    //beijing hebei tianjin

    18)、splice添加或删除元素

    例如:

    let arr = ["tianjin","beijing","hebei","pingshan","shijianzhuang"];

    let rem = arr.splice(2, 0, "taoyuan");

    console.log(arr)    //tianjin beijing  taoyuan hebei pingshan shijiazhuang

    rem = arr.splice(3,1);

    console.log(rem);  //hebei

    19)、tostring:数组转为字符串,并返回结果;

    例如:

    let arr = new Array('orange',"mango","banana","sugar");

    let str = arr.toString();

    console.log(str);      //orange mango banana sugar

    20)、UNshift()向数组的开头添加一个或更多元素,并返回新的长度。

    例如:

    let arr = new Array('orange','mango',"banana","sugar")

    let leng = arr.unshift('green');        //添加

    console.log(arr);      //green orange mango banana sugar

    console.log(leng);      //5

    相关文章

      网友评论

          本文标题:typescript笔记(九)

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