在程序中,为了处理方便,把具有相同类型的若干变量,按照有序的形式组织起来,就形成了数组。数组可分为一维数组,二维数组,还有多维数组。在程序中合理使用数组,使程序结构更整齐,使复杂的运算简单化。
1、数组的定义
数组是存储1个或多个数据的容器,是一组内存空间,这组内存空间的名字叫做数组名
2、数组特点
1)通常用来批量处理数据
2)对其存储的数组元素没有什么限制,无论是数量还是类型。
注意:通过下标来管理数组元素,不能直接通过数组名来操作数组元素。
3)数组名.length :表示数组的长度,也是当前数组存储元素的个数。
注意:数组下标默认从0开始,如果数组长度为-1,就表示是数组最后一个元素的下标。
3、创建数组
1) 通过new关键字(创建数组传统写法)
var arr = new Array();
2) 字面量的方式(常用)
var arr = [54,'nice',77,'abc',20];
console.log(arr.length);
4、数组的使用
1) 数组和循环的结合使用
for(var i = 0; i<=arr.length-1; i ){
//变量i的条件也可以写i<arr.length
console.log(arr[i]);
}
2) 访问单个数组元素
console.log(arr[0]); //访问下标为0的数组元素
console.log(arr[5]); //undefind 访问数组越界
注意:循环访问数组时,容易出现数组越界的问题。
数组越界:访问了不属于该数组的内存空间,即超出了数组的长度范围
5、 数组的方法
1)push():添加元素到数组的最后一位
var str = "welcome";
arr.push(str);
console.log(arr);
2)unshift():添加元素到数组的第一位
arr.unshift("haha");
console.log(arr);
3)pop():删除数组最后一个元素
arr.pop();
console.log(arr);
4)shift():删除数组第一个元素
arr.shift();
console.log(arr);
5)slice(begin,end):截取数组中指定范围的内容,并将其返回(多次使用时定义新数组来接收)
注意:参数的取值范围 [begin,end)
console.log(arr.slice(0,2));
var arr1 = [1,'a',77,23,'k'];
var arr2 = arr1.slice(0,arr1.length);
console.log(arr2);
6) splice(start,howmany,element1…elementx): 插入,删除,替换
start:开始的位置
howmany:修改的长度
//删除:只规定了开始位置和修改长度,没有规定新的内容
//替换:规定了开始位置和修改长度,也规定了新的内容
//插入:新内容的个数多于修改的长度
arr.splice(0,2);
splice和slice :
1.slice不会修改原数组,只是复制一份新的内容
2.splice修改原数组的数据,不会复制新的内容
7)join():将数组中的元素,全部转为字符串并拼接起来返回
var arr2 = [65,78,4,89,23];
var m = arr2.join("");
console.log(m);657848923
console.log(typeof m