30-使用数组
3.10 使用数组
Array对象让您能够存储和处理一组其他的对象。数组可存储数字、字符串或其他JavaScript对象。可使用多种方法来创建JavaScript数组,例如,下面的语句演示了创建数组的三种方式:
var arr = ["one", "two", "three"];
var arr2 = new Array();
arr2[0] = "one";
arr2[1] = "two";
arr3[2] = "three";
var arr3 = new Array();
arr3.push("one");
arr3.push("two");
arr3.push("three");
在第一种方式中,定义了数组arr并使用[]来指定其内容,这是在一条语句中完成的。在第二种方式中,创建了对象arr2,再使用索引在其中添加元素。在第三种方式中,创建了对象arr3,再使用最佳的数组扩展方式——使用方法push()在这个数组中压入元素。
要获悉数组包含多少个元素,可使用Array对象的length属性,如下所示:
var numOfItems = arr.length;
数组索引从零开始,这意味着第一个元素的索引为零,依此类推。例如,在下面的代码中,变量first的值为Monday,而变量last的值为Friday:
var week = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];
var first = w [0];
var last = week[week.length-1];
Array对象有多个内置函数,让您能够以各种方式访问和操作数组。表3.7描述了Array对象中让您能够操作数组内容的方法。
| 方法 | 描述 | | :----- | :----- | :----- | :----- | | concat(arr1, arr2, ...) | 将通过参数传入的数组合并,并返回得到的数组的拷贝 | | indexOf(value) | 返回value在数组中第一次出现时的索引;如果没有找到,则返回-1 | | join(separator) | 将数组的所有元素合并成一个字符串,并用separator分隔元素;如果没有指定分隔符,则使用逗号 | | lastIndexOf(value) | 返回value在数组中最后一次出现时的索引;如果没有找到,则返回-1 | | pop() | 删除数组的最后一个元素,并将其返回 | | push(item1, item2, ...) | 在数组末尾添加一个或多个元素,并返回数组的新长度 | | reverse() | 反转数组中所有元素的排列顺序 | | shift() | 删除数组的第一个元素,并将该元素返回 | | slice(start, end) | 返回一个数组,它包含索引start和end之间的元素 | | sort(sortFunction) | 将数组元素排序,其中参数sortFunction是可选的 | | splice(index, count, item1, item2...) | 从指定索引index处开始删除count个元素;再在该索引处插入通过可选参数传入的元素 | | toString() | 返回数组的字符串表示 | | unshift() | 在数组开头添加新元素,并返回数组的新长度 | | valueOf() | 返回Array对象的原始值 |
为让您熟练使用Array对象的功能,接下来的几小节将介绍使用Array对象的方法可完成的一些常见任务。