1、数组的定义
var arr=new Array(); //定义一个空数组
var arr=new Array(10); //创建一个10个元素的数组
var arr=new Array("Jhone",10); //创建一个数组里面有两个元素
var arr=[1,2,3,4,5]; //字面量定义方式
2、数组的长度(length)
即可用来查询数组的长度,也可以设置数组的长度
var arr=[1,2,3,4,5]; alert(arr.length); //5
arr.length=4;
alert(arr.length); //4
alert(arr[4]); //undefined
3、遍历数组
方法一:
for(var i=0;i<arr.length;i++){}
方法二(for .. in 普遍用于遍历数组或者对象):
for(var i in arr){}
4、冒泡算法
var arr1=[4,8,12,3,6,9,10]; for(var i=0;i<arr1.length-1;i++){ for(var j=0;j<arr1.length-1-i;j++){ if(arr1[j]>arr1[j+1]){ var temp=arr1[j]; arr1[j]=arr1[j+1]; arr1[j+1]=temp; } } }
5、数组常见的方法
1)push()和pop(),原数组被改变
push()数组末尾添加一个或多个元素,并返回数组的长度
var arr=[2,3,4,56,67,98]; var len=arr.push(5,6,7);
alert(arr); //2,3,4,56,67,98,5,6,7
alert(len); //9
pop()数组末尾删除元素,返回移除的元素
var arr=[2,3,4,56,67,98]; var len=arr.pop(); alert(arr); //2,3,4,56,67 alert(len); //98
2)shift()和unshift(),原数组被改变
unshift()数组头部添加一个或者多个元素,并返回数组的长度
var arr=[2,3,4,56,67,98]; var len=arr.unshift(5,6,7); alert(arr); //5,6,7,2,3,4,56,67,98
alert(len); //9
shift()数组头部删除元素,返回移除的元素
var arr=[2,3,4,56,67,98]; var len=arr.shift(); alert(arr); //3,4,56,67,98 alert(len); //2
3)reverse()逆向排序,原数组被改变
var arr=[2,3,4,56,67,98]; arr.reverse(); alert(arr);//98,67,56,4,3,2
4)sort(),从小到大排序,原数组改变
var array1 = [0,1,5,10,15]; array1.sort();//0,1,10,15,5(有问题)
function compare(value1,value2){ if(value1<value2){ return -1; }else if(value1==value2){ return 0; }else{ return 1; } }
array1.sort(compare); //0,1,5,10,15
5)concat() 追加数据,创建一个新的数组,不改变原来的数组
var arr=[2,3,4,5]; var arr1=arr.concat(7,8); alert(arr1); //2,3,4,5,7,8 alert(arr);//2,3,4,5
6)slice()将数组中指定区域提取出来,不改变原来的数组
slice(index1,index2),从下标index1开始到下标index2结束,index1的元素取到,index2取不到,返回被取到的元素
var arr5=[3,2,4,5,8,6,3,9]; var arr6=arr5.slice(3,6);
alert(arr6); //5,8,6
alert(arr5); //3,2,4,5,8,6,3,9
7)splice()截取原数组指定区域,会改变原数组
splice(index,number),从下标index开始截取,截取number个元素
//情况一:当number=0,且splice(index,0,a)有第三个参数,则为在原数组中插入元素 var arr7=[1,2,3,4,6,7,8]; arr7.splice(4,0,5);
alert(arr7) //1,2,3,4,5,6,7,8
//情况二:当number不为0,且splice(index,number,a)有第三个参数,则为在原数组中替换该位置的元素
arr7.splice(4,1,"聪","明");
alert(arr7); //1,2,3,4,聪,明,7,8
//情况三:当number不为0,splice(index,number),则为在原数组中删除该位置的number个元素
arr7.splice(4,2);
alert(arr7); //1,2,3,4,8
8) join()将数组元素连接成字符串
//情况一:若直接join()则通过逗号连接字符串 var arr9=["我","是","一","只","笨","鸟"]; arr9.splice(4,1,"聪","明"); alert(arr9.join()); //我,是,一,只,聪,明,鸟 //情况二:若join(".")里面有符号,则用该符号连接 alert(arr9.join("")); //我是一只聪明鸟