1、概念
数组是长度可变,通过索引存取元素,可以储存不同类型数据的容器。关键字:数组是一个容器,长度可变,存储不同类型的数据。
2、分类
一维数组、二维数组、多维数组
3、创建数组
1、new关键字创建
var arr=new Array(5); //创建数组长度为5
var arr2=new Array("tom",'hello',true,23,null);//代表数组的元素
2、通过[]创建
var arr=[12,true,undefined,"上海",true];//代表数组的元素
4、操作数组
1、获取索引
indexOf() 获取第一个出现的位置
lastIndexOf() 获取最后一次出现的位置
var arr=[12,true,undefined,"上海",true];//代表数组的元素
//获取true第一次出现的位置 indexOf() 获取下标 //alert("true第一次出现的位置:"+arr.indexOf(true)); //1 //获取true最后一次出现的位置 lastIndexOf() //alert("true最后一次出现的位置:"+arr.lastIndexOf(true)); //4
2、遍历数组
for循环、for in(注意i是下标)
//遍历二维数组 var arr=[[2,3],[true,null,"abc"],["false"]]; alert("二维数组的长度:"+arr.length); //遍历二维数组 for(var i=0;i<arr.length;i++){ for(var j=0;j<arr[i].length;j++){ document.write(arr[i][j]+" "); } document.write("<br>"); }
3、常用方法
//reverse() 反转 修改了原来的数组 /* arr.reverse(); document.write("反转后的数组:"); for(var i in arr){//i是下标 document.write(arr[i]+" "); } */ //sort() 排序 根据首字母进行排序 也修改了原来的数组 var arr2=[12,6,9,0,1]; /*arr2.sort(); for(var i in arr2){//i是下标 document.write(arr2[i]+" "); //0 1 12 6 9 } */ //3、concat() 拼接 ,产生新的数组 /* var arr3=arr.concat(arr2); for(var i in arr3){//i是下标 document.write(arr3[i]+" "); //0 1 12 6 9 } */ //4、slice(start,end) 截取 substring() 产生新的数组,包头不包尾 //截取数组的从下标2开始,到下标为5的地方结束 2 3 4 var arr4=arr.slice(2,5); for(var i in arr4){//i是下标 document.write(arr4[i]+" "); //undefined 上海 true }