一、创建方法
1、空数组
1  | var Obj = new Array();  | 
2、指定长度数组
1  | var Obj = new Array(Size);  | 
3、指定元素数组
1  | var Obj = new Array(元素1,元素2,元素3,...,元素N);  | 
4、单维数组
1  | var Obj = [元素1,元素2,元素3,...,元素N]  | 
5、多维数组
1  | var a = new Array([数组序列1],[数组序列2],[数组序列N]);  | 
二、基本操作
1、存取数组元素
单维数组
1
数组名[下标索引]
多维数组
1
数组名[外层数组下标][内层元素下标]
特性
- 数组长度是弹性的,可自由伸缩
 - 数组下标从0开始
 - 下标类型
- 数值
 - 非数值
- 转为字符串
 - 生成关联数组
 - 下标将作为对象属性的名字
 
 
 - 数组元素可添加到对象中
 
2、增加数组
1  | 使用“[]”运算符指定一个新下标  | 
3、删除数组
1  | delete数组名[下标];  | 
4、遍历数组
1  | for(var 数组元素变量 in 数组)  | 
三、数组属性
1、constructor
引用数组对象的构造函数
2、length
返回数组的长度
3、prototype
通过增加属性和方法扩展数组定义
四、ECMAScript 3 方法
1、添加
push()
在数组末尾增加数组
unshift
在数组头部添加元素
concat
合并两个数组
2、删除
pop()
删除并返回数值的最后一个元素
shift()
删除并返回数组的第一个元素
队列方法,先进先出
栈方法,后进先出
3、子数组
splice()
- 删除任意数量的项
- 要删除的起始下标
 - 要删除的项数
 
 - 在指定位置插入指定的项
- 起始下标
 - 0(不删除任何项)
 - 要插入的项
 
 - 替换任意数量的项
- 起始下标
 - 要删除的项数
 - 要插入的项
 
 
- 删除任意数量的项
 功能
从已有数组中选取部分元素构成新数组
参数
- 返回项的起始位置
 - 返回项的结束位置
 
特性
- 如果是负数,则用数组长度加上该值确定位置
 - 起始位置实为数组的实际下标
 - 结束位置的实际下标为结束数值减1
 
4、数组排序
reverse()
颠倒数组中元素的顺序
sort()
功能:对字符数组或数字数组进行排序
特性:按数值大小比较,需函数支持(升序)
1
2
3
4
5
6
7
8
9
10function
compare(value1,value2){
if(value1 < value2){
return -1;
} else if(value1 > value2){
return 1;
} else {
return 0;
}
}
5、数组转换
toString()
转换为字符串并返回
toLocaleString()
转换为本地格式字符串并返回
join()
用指定分隔符分割数组并转换为字符串
五、ECMAScript 5 方法
1、位置方法
indexof
从数组的起始位置开始查找
lastIndexof
从数组的结束位置开始查找
参数
- 要查找的项
 - 标识查找起点的位置索引
 
2、迭代方法
every
如果该函数对每一项都返回true,则返回true
filter
返回值为true的所有数组成员
forEach
无返回值
map
返回每次函数调用的结果数组
some
有任意一项返回true,则返回true
参数
- 接收参数
- 要在每一项上运行的函数
 - 运行该函数的作用域对象
 
 - 传入参数
- 数组项的值 item
 - 该项在数组中的位置index
 - 数组对象本身 array
 
 
- 接收参数
 
3、缩小方法
reduce
从数组起始位开始遍历
reduceRight
从数组末尾开始遍历
参数
- 接收参数
- 每一项上调用的函数
 - 作为缩小基础的初始值
 
 - 传入参数
- 前一个值 prev
 - 当前值 cur
 - 项的索引 index
 - 数组对象 array
 
 
- 接收参数