Javascript数组创建及其常见操作

fly小灰灰 2010-10-08

你对Javascript数组的操作是否熟悉,这里和大家简单分享一下,主要包括创建,添加,删除,读取,以及JavaScript数组常见方法和属性等内容,相信本文介绍一定会让你有所收获。

Javascript数组及其操作

本文介绍如下几个方面的内容:

1.如何创建JavaScript数组

2.如何对JavaScript数组进行操作(添加,删除,读取)

3.JavaScript数组常见方法和属性

◆如何创建一个数组,一般地根据初始化设定简单分为3种:

1.单纯创建JavaScript数组:

vararr=newArray();

要点:用new关键字创建数组对象Array(),Array()对象是一个本地类,可以用new创建一个对象后使用

2.创建JavaScript数组的同时规定数组大小:

vararr=newArray(10);//这里就创建了一个初始化大小为10的数组

注意:当使用数组大小操作初始化大小时,数组会自动被撑大,不会像C语言那样发生错误.动态增长是js数组的一个性质.另外,js中支持最大数组长度为4294967295

3.直接初始化:

vararr=newArray("草履虫","爱","毛毛");//这里就直接初始化了数组或vararr=["草履虫","爱","毛毛"];//括号也可以声明一个数组对象, 当然,类似C语言,你也可以定义2维3维和多维的数组,这里不讨论。

JavaScript数组的属性:length

arr.length返回数组arr的长度,常见于循环中对数组的遍历,比如:

for(vari=0;i<arr.length;i++){  


执行部分  


} 

数组元素的访问:arr[index],其中index表示索引即数组基数,从0开始,共有arr.length个元素.比如:arr[0]访问第一个数组元素,arr[1]访问第二个数组元素....依次类推数组的操作方法:先概览下下面的这些操作数组常用的方法(13个)

toString(),valueOf(),toLocalString(),join(),  


split(),slice(),concat(),  


pop(),push(),shift(),unshift(),sort(),splice() 

下面逐一分析这些方法的功能和用法.

◆toString(),valueOf(),toLocalString():

功能:返回数组的全部元素

注:JavaScript数组名也可以返回整个数组

代码:

varm=["am","bm","cm"];//用括号声明一个数组对象   


 


alert(m.toString());


//toString()返回数组对象的所有内容,用逗号分割,即am,bm,cm   


 


alert(m.valueOf());//valueOf()也返回数组对象的所有内容   


 


alert(m.toLocaleString());


//toLocaleString()也返回数组对象的所有内容,但有地区语言区别,暂不研究   


 


alert(m);//数组名也返回数组对象的所有内容   


 



varm=["am","bm","cm"];  



//用括号声明一个数组对象alert(m.toString());  


//toString()返回数组对象的所有内容,用逗号分割,即am,bm,cmalert(m.valueOf());  


//valueOf()也返回数组对象的所有内容alert(m.toLocaleString());  


//toLocaleString()也返回数组对象的所有内容,但有地区语言区别,暂不研究alert(m);  


//数组名也返回数组对象的所有内容  



运行:<script>varm=["am","bm","cm"];alert(m.toString());  




alert(m.valueOf());alert(m.toLocaleString());</script> 



 

◆join():

功能:把JavaScript数组各个项用某个字符(串)连接起来,但并不修改原来的数组

代码:

varm=["am","bm","cm"];//用括号声明一个数组对象   


 



varn=m.join("---");//用---连接am,bm,cm.   



 


alert(m.toString());//m并没有被修改,返回am,bm,cm   


 


alert(n);//n是一个字符串,为am---bm---cm   


 



varm=["am","bm","cm"];  




//用括号声明一个数组对象varn=m.join("---");



//用---连接am,bm,cm.alert(m.toString());  


//m并没有被修改,返回am,bm,cmalert(n);  


//n是一个字符串,为am---bm---cm  



运行:<script>varm=["am","bm","cm"];varn=m.join("---");  




alert(m.toString());alert(n);</script> 

◆split():

功能:把一个字符串按某个字符(串)分割成一个数组,但不修改原字符串

代码:

varstr="Ilovemaomao,Iamcaolvchong";  


 



vararr=str.split("o");//按字符o把str字符串分割成一个数组   



 


alert(arr);//输出整个数组   


 



varstr="Ilovemaomao,Iamcaolvchong";  




vararr=str.split("o");  



//按字符o把str字符串分割成一个数组alert(arr);  


//输出整个数组  



运行:<script>varstr="Ilovemaomao,Iamcaolvchong";  




vararr=str.split("o");alert(arr);</script> 

◆slice():

功能:返回某个位置开始(到某个位置结束)的数组部分,不修改原JavaScript数组

代码:

varm=["am","bm","cm","dm","em","fm"];  


 



varn=m.slice(2);//返回第二个元素bm后面的元素,即cm,dm,em,fm   



 



varq=m.slice(2,5);//返回第二个元素后到第五个元素,即cm,dm,em   



 


alert(n);  


 


alert(q);   


 



varm=["am","bm","cm","dm","em","fm"];  




varn=m.slice(2);  




//返回第二个元素bm后面的元素,即cm,dm,em,fmvarq=m.slice(2,5);  



//返回第二个元素后到第五个元素,即cm,dm,emalert(n);alert(q);  



运行:<script>varm=["am","bm","cm","dm","em","fm"];  




varn=m.slice(2);varq=m.slice(2,5);alert(n);alert(q);</script> 

JavaScript数组对象的栈操作:

push():数组末尾添加一个项

pop():删除数组最后一个项

代码:

varm=["am","bm","cm","dm","em","fm"];  


 


m.push("gm");//在数组末尾添加元素gm   


 


alert(m);  


 


m.pop();//删除数组最后一个元素gm   


 


alert(m);   


 



varm=["am","bm","cm","dm","em","fm"];m.push("gm");  



//在数组末尾添加元素gmalert(m);m.pop();  


//删除数组最后一个元素gmalert(m);  



运行:<script>varm=["am","bm","cm","dm","em","fm"];  




m.push("gm");alert(m);m.pop();alert(m);</script> 



 


 


 

JavaScript 数组对象的队列操作:

unshift():数组头添加一个项

shift():删除数组第一个项

代码:

varm=["am","bm","cm","dm","em","fm"];  


 


m.unshift("gm");//在数组第一个元素位置添加元素gm   


 


alert(m);  


 


m.shift();//删除数组第一个元素gm   


 


alert(m);   


 



varm=["am","bm","cm","dm","em","fm"];m.unshift("gm");  



//在数组第一个元素位置添加元素gmalert(m);m.shift();  


//删除数组第一个元素gmalert(m);  



运行:<script>varm=["am","bm","cm","dm","em","fm"];m.unshift("gm");  




alert(m);m.shift();alert(m);</script> 



 


 

◆ sort():

功能:数组按字符的ASCII码进行排序,修改数组对象

注:即便是数字数组,也将转化为字符串来进行比较排序

代码:

varm=["am","fm","gm","bm","em","dm"];  


 


m.sort();//按字母序排序   


 


alert(m);   


 



varm=["am","fm","gm","bm","em","dm"];m.sort();  



//按字母序排序alert(m);  



运行:<script>varm=["am","fm","gm","bm","em","dm"];  




m.sort();alert(m);</script> 



 

◆concat():

功能:在JavaScript数组尾添加元素,但不修改数组对象

代码:

varm=["am","bm"]  


 



varn=m.concat("cm");//添加一项cm,并且赋予新数组对象   



 


alert(m);//原数组没有被修改   


 


alert(n);//输出新数组对象   


 



varm=["am","bm"]varn=m.concat("cm");  



//添加一项cm,并且赋予新数组对象alert(m);  


//原数组没有被修改alert(n);//输出新数组对象  



运行:<script>varm=["am","bm"];varn=m.concat("cm");  




alert(m);alert(n);</script> 



 


 

◆splice():在数组的任意位置进行添加,删除或者替换元素,直接修改数组对象

细节:

splice()有三个参数或三个以上参数,前两个是必须的,后面参数是可选的

进行添加:splice(起始项,0,添加项)

进行删除:splice(起始项,要删除的项个数)

进行替换:splice(起始项,替换个数,替换项)这个其实是添加删除的共同结果

代码:

相关推荐