数组对象是使用单独的变量名来存储一系列的值。
声明
let arr:[datatype][]
初始化
let arr:[datatype][]=[val1,val2,val3...]
let arr:[datatype][]= new Array(4) //初始化数组大小
let arr:[datatype][]= new Array(val1,val2,val3...) //初始化数组
数组声明时未设置类型,则会被认为是 any 类型,在初始化时根据第一个元素的类型来推断数组的类型
数组第一个元素的索引为 0
数组解构
typescript 写法是:
let arr: number[] = [12, 13];
let [x, y] = arr; // 将数组的两个元素赋值给变量 x 和 y
console.log(x); //12
console.log(y); //13
等价于 javascript 写法
let arr = [12, 13];
let x = arr[0],
y = arr[1]; // 将数组的两个元素赋值给变量 x 和 y
console.log(x);
console.log(y);
数组迭代
循环的方式基本都可用于迭代数组
多维数组
let arr_name:datatype[][]=[ [val1,val2,val3],[v1,v2,v3] ]
数组方法
方法简介
| 方法名称 | 描述 |
|---|---|
| concat | 连接多个数组,返回新数组,原数组不变 |
| every | 检测是否每个数值元素都符合条件 |
| filter | 返回符合条件的所有元素的数组 |
| forEach | 数组每个元素都执行回调函数 |
| indexOf | 字符串在指定字符串或数组中的位置 |
| lastIndexOf | 字符串在指定字符串或数组最后出现位置 |
| join | 把数组的所有元素放入一个字符串 |
| map | 处理数组的每个元素,并返回处理后的数组 |
| push | 向数组的末尾添加元素,并返回新的长度 |
| reduce | 计算数组元素为一个值(从左到右) |
| reduceRight | 计算数组元素为一个值(从右到左) |
| sort | 对数组的元素进行排序 |
| reverse | 反转数组的元素顺序 |
| pop | 删除数组的最后一个元素并返回删除元素 |
| shift | 删除并返回数组的第一个元素 |
| unshift | 向数组的开头添加元素,并返回新的长度 |
| slice | 选取数组的的一部分,并返回一个新数组 |
| some | 检测数组元素中是否有元素符合指定条件 |
| splice | 从数组中添加或删除元素 |
| toString | 把数组转换为字符串,并返回结果 |
方法应用
every
用于检测是否每一个元素都符合条件,都符合返回true,否则返回false
function isBigEnough(element, index, array) {
return (element >= 10);
}
let passed = [12, 5, 8, 130, 44].every(isBigEnough);
console.log("Test Value : " + passed ); // false
some
用于检测是否存在符合条件的元素,存在返回true,不存在返回false
function isBigEnough(element, index, array) {
return (element >= 10);
}
let retval = [2, 5, 8, 1, 4].some(isBigEnough);
console.log("Returned value is : " + retval ); // false
let retval = [12, 5, 8, 1, 4].some(isBigEnough);
console.log("Returned value is : " + retval ); // true
indexOf
搜索数组中的元素,并返回它所在的位置。
如果搜索不到,返回值 -1,代表没有此项。
let index = [12, 5, 8, 130,55, 44].indexOf(8);
console.log("index is : " + index ); // 2
lastIndexOf
返回搜索字符串在指定字符串或数组最后出现的位置,从后向前搜索,但是返回的索引值是从左到右的位置数值
let index = [12, 5, 8, 130,55, 44].lastIndexOf(8);
console.log("index is : " + index ); // 2
reduce
将数组元素计算为一个值(从左到右)。
let total = [0, 1, 2, 3].reduce(function(a, b){ return a + b; });
console.log("total is : " + total ); // 6
sort
对数组中元素按照ASCI码进行排序
let arr = new Array("orange", "mango", "banana", "sugar");
let sorted = arr.sort();
console.log("Returned string is : " + sorted ); // banana,mango,orange,sugar
slice
选取数组的的一部分,并返回一个新数组。
arr.splice(start, end?)
- start 截取数组的起始索引位置
- end 截取数组的结束索引位置,若该值不存在,则指向数组最后一个元素的索引
splice
从数组中添加或删除元素,改变原有数组,返回值是被删除的元素,因此添加元素的时候返回为空
arr.splice(start, length, element1?,...,elementn?)
- start 插入或删除的起始索引位置
- length 为0表示添加元素,>0表示删除元素个数
- element1,…,elementn 表示添加的n个元素
let arr = ["orange", "mango", "banana", "sugar", "tea"];
let removed = arr.splice(2, 0, "water");
console.log("After adding 1: " + arr ); // orange,mango,water,banana,sugar,tea
console.log("removed is: " + removed); // removed is:
removed = arr.splice(3, 1);
console.log("After removing 1: " + arr ); // orange,mango,water,sugar,tea
console.log("removed is: " + removed); //removed is: banana
pop
删除数组的最后一个元素,并返回删除元素,因此原数组被修改
本文介绍了TypeScript中数组的基础知识,包括声明、初始化和解构。同时,详细讲解了数组的迭代、多维数组以及常用的方法如every、some、indexOf、lastIndexOf、reduce、sort、slice等的应用,帮助理解如何在TypeScript中操作和管理数组。
1316

被折叠的 条评论
为什么被折叠?



