创建数组基本方式
1.使用Array构造函数
let colors = new Array();// new操作符可省略
let colors = Array(20);// 创建length值为20的数组
let colors = Array('red','blue','green');//包含三个字符串的数组
2.使用数组字面量表示法
let colors =['red','blue','green'];
let name =[];
let value =[1,2];
读取和设置数组
colors[1];//读取第二个数组元素的值
colors[2] = 'skyblue';//修改数组第三个元素的值
colors[3] = 'pink';//新增第四个元素
length属性
该属性不止是只读的,还可用于删除,添加数组末尾的操作
let colors =['red','blue','green'];
colors.length = 2; //删除最后一个元素
let colors =['red','blue','green'];
colors.length = 4; //末尾添加一个元素,值为empty
colors.[colors.length] = 'black';//末尾添加一个新元素并赋值
检测数组
Array.isArray()
转换方法
- toString() 返回数组的字符串表示,以逗号分隔
- valueOf() 返回数组本身
- toLocaleString() 与toString方法类似
- join() 可返回指定分隔符的字符串,默认使用逗号分隔
栈方法
后进后出last-in-first-out
- push() 末尾插入
- pop() 末尾移除 同时都可以用于取到数组的最后一项
队列方法
先进先出first-in-first-out
- shift() 推入首位
- unshift() 移除首位 同时都可以用于取到数组的第一项
排序方法
- reverse() 反转数组
- sort() 数组排序,接收一个比较函数
操作方法
- concat() 多用于连接数组
- slice() 切片
- splice() 拼接,最强大的数组方法,会改变原数组,该方法返回原数组中被删除的项
splice(0,2) //删除前两项
splice(0,2,'pink','skyblue') //插入—从0开始,删除两个,插入两个
splice(2,1,'red','green') //替换-从2开始,删除一项,插入两个
位置方法
- indexOf() 从头开始匹配
- lastIndexOf() 从末尾往前匹配 都接收两个参数:要查找的项和(可选的)查找起点位置;没找到-1,找到返回所在位置的索引
迭代方法
对数组中的每一项运行给定函数
- every() 如果对每一项都返回true,则返回true
- filter() 返回该函数会返回true的项组成的数组
- forEach()该方法没有返回值,与for循环一样
- map() 返回每次函数调用的结果组成的数组
- some() 若函数对其中一项返回true,则返回true 以上都不会改变原数组
归并方法
- reduce() 从第一项开始遍历
- reduceRight() 从后往前遍历
let numArr =[1,2,3,4,5,4,3,2,1]
var sum = numArr.reduce((prev,cur)=>{
return prev + cur
})
sum //25
这两个方法的区别在于从那个方向开始遍历