
8.1 创建方法
空数组 var Obj = new Array();
指定长度数组 var Obj = new Array(Size);
指定元素数组 var Obj = new Array(元素1,元素2,元素3,…,元素N);
单维数组 var Obj = new Array(元素1,元素2,元素3,…,元素N);
多维数组 var a = new Array([数组序列1],[数组序列2],…,[数组序列N]);
8.2 基本操作
存取数组元素:
单维数组 数组名[下标索引];
多维数组 数组名[外层数组下标][内层元素下标];
特性:
数组长度是弹性的,可自由伸缩;
数组下标从0开始;
下标类型 数值
非数值 转为字符串,生成关联数组,下标将作为对象属性的名字;
数组元素可添加到对象中;
增加数组:
使用“[]”运算符指定一个新下标;
删除数组:
delete 数组名[下标];
遍历数组:
for(var 数组元素变量in数组);
8.3 数组属性
constructor:
引用数组对象的构造函数;
length:
返回数组的长度;
prototype:
通过增加属性和方法扩展数组定义;
8.4 ECMAScript 3方法
添加:
push() 在数组末尾添加数组;
unshift() 在数组头部添加元素;
concat() 合并两个数组;
删除:
pop() 删除并返回数值的最后一个元素;
shift() 删除并返回数组的第一个元素;删除并返回数字的最后一个元素;
子数组:
splice() 删除任意数量的项;
在指定位置插入指定的项;
替换任意数量的项
slice() 功能 从已有数组中选取部分元素构成新数组;
数组排序:
reverse() 颠倒数组中元素的顺序;
sort() 功能 对字符数组或数字数组进行排序;
特性 默认为按字符串比较;
按数值大小比较;
数组转换:
toString() 转换为字符串并返回;
toLocaleString() 转换为本地格式字符串并返回;
join() 用指定分隔符分割数组并转换为字符串;
8.5 ECMAScript 5方法
位置方法:
indexOf() 从数组的起始位置开始查找;
lastIndexOf() 从数组的结束位置开始查找;
迭代方法:
every 如果该函数对每一项都返回trure,则返回true;
filter 返回值为ture的所有数组成员;
forEach 无返回值;
map 返回每次函数调用的结果数组;
some 有任意一项返回true,则返回true;
缩小方法:
reduce 从数组起始位开始遍历;
reduceRight 从数组末尾开始遍历;
8.6 示例代码
在本例中,我们创建了三个数组,然后使用 concat() 把它们连接起来:
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"
var arr3 = new Array(2)
arr3[0] = "William"
arr3[1] = "Franklin"
document.write(arr.concat(arr2,arr3))
</script>
输出:
George,John,Thomas,James,Adrew,Martin,William,Franklin