JavaScript中的数组
简单的说,数组就是存放多个值的容器,值可以为任意数据类型,在数组中的值也被成为元素。
定义数组的方法
1)字面量,也就是使用"[]“作为边界,数组中的元素通过”,"隔开,比如:
var arr = ["terry","larry","tom"];
2)构造函数
var arr = new Array(); // 创建空数组
var arr = new Array(3); // 创建一个数组长度为3的数组
var arr = new Array(true) // 创建一个数组,数组中有一个元素,[true]
var arr = new Array(2,3) // 创建一个数组,数组中有两个元素,[2,3]
数组的访问方式
数组是通过索引来访问数组中的元素,索引从0开始,索引为0的元素表示第一个元素
数组通过length属性来访问数组的长度,数组的长度表示数组中元素的个数
数组如何遍历
定义一个数组,如何遍历他们呢
1.for-in循环
2.for、while、do-while循环
3.调用api
API
如何学习API的方法呢,首先要明白三点:方法的作用、方法的参数以及方法的返回值
API有两大类方法:静态方法和非静态方法,静态方法又称为构造函数方法,非静态方法又称为实例方法
Array.isArray(v) 是一个静态方法,用来判断v是否是一个数组
Array.of()方法是为了弥补new Array()的缺陷
非静态又分为很多种
1.遍历方法,就是对指定数组进行遍历
Array.prototype.forEach() 每次遍历出来一个元素调用一次回调函数。
Array.prototype.every() 查看是否每个元素都满足指定条件
Array.prototype.some() 查看是否有元素都满足指定条件
Array.prototype.map() 将每个回调函数返回结果组成新数组进行返回
Array.prototype.filter()当回调函数返回true,将当前元素返回,filter将所有返回的元素组成新数组返回
2.栈方法
Array.prototype.push()表示入栈,将参数追加到数组末尾
Array.prototype.pop()表示出栈,将数组末尾元素删除并且返回
3.队列方法
Array.prototype.shift()表示出队列,将数组开头元素删除并且返回
Array.prototype.unshift()表示插队列,在数组开头插入元素
4.排序方法
Array.prototype.reverse() 表示将数组中的元素的顺序进行反转,
Array.prototype.sort()表示对数组中的元素进行排序,当无参,默认将数组中的元素转换为字符串进行 排序,按照字符在ascii表中的顺序进行排序。当参数为比较器函数的话,按照比较器函数进行排序。
5.查找方法
Array.prototype.indexOf()查询参数在数组中位置,查找顺序为从前到后1
Array.prototype.lastIndexOf()查询参数在数组中位置,查找顺序为从后到前
6.截取方法
Array.prototype.slice(begin,end) 从原数组中截取子元素
Array.prototype.splice(begin,len,a,b,c,…) 在原数组删除、插入、替换
7.拼接方法
Array.prototype.concat(arr)将参数数组与原数组的进行合并
8.序列化方法,将数组转换为字符串
1) 序列化为json
var arr = [1,2,3]
JSON.stringify(arr) //’[1,2,3]’
2) 序列化为qs
var param = {
ids:[1,2,3]
};
3) Array.prototype.join()将数组中的元素转化为字符串,并且通过指定参数进行连接,如果没有指定参数,使用逗号连接
4) Array.prototype.toString()将数组中的元素转换换为字符串,并且通过","拼接