一、简介
除了Object类型之外,Array类型是ECMAScript最常用的类型。
而且ECMAScript中的Array类型和其他语言中的数组有着很大的区别。虽然数组都是有序排列,但ECMAScript中的数组每个元素可以保存任何类型。ECMAScript中数组的大小也是可以调整的。
二、创建Array对象
创建Array类型有两种方式:第一种是new运算符,第二种是字面量。
var box = new Array();//创建了一个数组
var box = new Array(10);//创建一个包含 10 个元素的数组
var box = new Array('李炎恢',28,'教师','盐城');//创建一个数组并分配好了元素
方法二:
var box = [];//创建一个空的数组
var box = ['李炎恢',28,'教师','盐城'];//创建一个数组并分配好元素。
较为复杂的数组:
var box = [
{
name : '李炎恢', age : 28,
run : function () {
return 'run 了'; }
},//第一个元素为对象
['马云','李彦宏',new Object()],//第二个元素为数组
'江苏',//第三个元素为字符串
25+25,//第四个元素为数值
new Array(1,2,3)//第五个元素为数组
];
1.赋值或修改。
box[2] = '学生';//对数组元素进行赋值或修改
box[box.length] = 'JS 技术';//通过 length 给数组增加一个元素
注意:当下标超过了数组的范围相当于添加了元素。
2.栈与队列
栈方法
alert(box.push('盐城'));//末尾添加一个元素,并且返回长度
box.pop();//移除数组尾元素,并返回移除的元素
队列方法
alert(box.unshift('盐城','江苏')); //数组开头添加两个元素
alert(box.shift()); //移除数组开头元素,并返回移除的元素
3.数组的排序
var box = [1,2,3,4,5];//数组
alert(box.reverse());//逆向排序方法,返回排序后的数组
alert(box);//源数组也被逆向排序了,说明是引用
var box = [4,1,7,3,9,2];//数组
alert(box.sort());//从小到大排序,返回排序后的数组
alert(box);//源数组也被从小到大排序了
4.数组的截取
concat的用法
var box = ['李炎恢', 28, '盐城'];//当前数组
var box2 = box.concat('计算机编程');//创建新数组,并添加新元素
alert(box2);//输出新数组
alert(box);//当前数组没有任何变化
var box = ['李炎恢', 28, '盐城'];//当前数组
var box2 = box.slice(1);//box.slice(1,3),2-4 之间的元素
alert(box2);//28,盐城
alert(box);//当前数组
splice 中的删除功能:
var box = ['李炎恢', 28, '盐城'];//当前数组
var box2 = box.splice(0,2);//截取前两个元素
alert(box2);//返回截取的元素
alert(box);//当前数组被截取的元素被删除
splice 中的插入功能:
var box = ['李炎恢', 28, '盐城'];//当前数组
var box2 = box.splice(1,0,'计算机编程','江苏');//没有截取,但插入了两条
alert(box2);//在第 2 个位置插入两条
alert(box);//输出
splice 中的替换功能:
var box = ['李炎恢', 28, '盐城'];//当前数组
var box2 = box.splice(1,1,100);//截取了第 2 条,替换成 100
alert(box2);//输出截取的 28
alert(box);//输出数组