javascript下的数组及其操作时间

javascript下的数组及其操作时间:2008-03-22  本文介绍如下几个方面的内容:   
1.如何创建数组  
2.如何对数组进行操作(添加,删除,读取)  
3.数组常见方法和属性  
如何创建一个数组,一般地根据初始化设定简单分为3种:  
1.单纯创建数组:  
var arr=new Array();  
要点:用new关键字创建数组对象Array(),Array()对象是一个本地类,可以用new创建一个对象后使用  
2.创建数组的同时规定数组大小:  
var arr=new Array(10);//这里就创建了一个初始化大小为10的数组  
注意:当使用数组大小操作初始化大小时,数组会自动被撑大,不会像C语言那样发生错误.动态增长是js数组的一个性质.另外,js中支持最大数组长度为4294967295  
3.直接初始化:  
var arr=new Array("草履虫","爱","毛毛");//这里就直接初始化了数组  
或var arr=["草履虫","爱","毛毛"];//括号也可以声明一个数组对象  
当然,类似C语言,你也可以定义2维3维和多维的数组,这里不讨论.  
数组的属性:length  
arr.length返回数组arr的长度,常见于循环中对数组的遍历,比如:  
for(var i=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():  
功能:返回数组的全部元素  
注:数组名也可以返回整个数组  
代码:   
var m=["am","bm","cm"];//用括号声明一个数组对象     
alert(m.toString());//toString()返回数组对象的所有内容,用逗号分割,即am,bm,cm     
alert(m.valueOf());//valueOf()也返回数组对象的所有内容     
alert(m.toLocaleString());//toLocaleString()也返回数组对象的所有内容,但有地区语言区别,暂不研究     
alert(m);//数组名也返回数组对象的所有内容    
var m=["am","bm","cm"];//用括号声明一个数组对象 alert(m.toString());//toString()返回数组对象的所有内容,用逗号分割,即am,bm,cm alert(m.valueOf());//valueOf()也返回数组对象的所有内容 alert(m.toLocaleString());//toLocaleString()也返回数组对象的所有内容,但有地区语言区别,暂不研究 alert(m);//数组名也返回数组对象的所有内容 运行: <script>var m=["am","bm","cm"];alert(m.toString());alert(m.valueOf());alert(m.toLocaleString());</script>    
join():  
功能:把数组各个项用某个字符(串)连接起来,但并不修改原来的数组  
代码:   
var m=["am","bm","cm"];//用括号声明一个数组对象     
var n=m.join("---");//用---连接am,bm,cm.     


alert(m.toString());//m并没有被修改,返回am,bm,cm     
alert(n);//n是一个字符串,为am---bm---cm    
var m=["am","bm","cm"];//用括号声明一个数组对象 var n=m.join("---");//用---连接am,bm,cm. alert(m.toString());//m并没有被修改,返回am,bm,cm alert(n);//n是一个字符串,为am---bm---cm 运行: <script>var m=["am","bm","cm"];var n=m.join("---");alert(m.toString());alert(n);</script>  
split():  
功能:把一个字符串按某个字符(串)分割成一个数组,但不修改原字符串  
代码:   
var str="I love maomao,I am caolvchong";    
var arr=str.split("o");//按字符o把str字符串分割成一个数组     
alert(arr);//输出整个数组    
var str="I love maomao,I am caolvchong"; var arr=str.split("o");//按字符o把str字符串分割成一个数组 alert(arr);//输出整个数组 
运行: <script>var str="I love maomao,I am caolvchong";var arr=str.split("o");alert(arr);</script>  
slice():返回某个位置开始(到某个位置结束)的数组部分,不修改原数组  
代码:   
var m=["am","bm","cm","dm","em","fm"];    
var n=m.slice(2);//返回第二个元素bm后面的元素,即cm,dm,em,fm     
var q=m.slice(2,5);//返回第二个元素后到第五个元素,即cm,dm,em     
alert(n);    
alert(q);    
var m=["am","bm","cm","dm","em","fm"]; var n=m.slice(2);//返回第二个元素bm后面的元素,即cm,dm,em,fm var q=m.slice(2,5);//返回第二个元素后到第五个元素,即cm,dm,em alert(n); alert(q); 
运行: <script>var m=["am","bm","cm","dm","em","fm"];var n=m.slice(2);var q=m.slice(2,5);alert(n);alert(q);</script>  


数组对象的栈操作:  
push():数组末尾添加一个项  
pop():删除数组最后一个项  
代码:   
var m=["am","bm","cm","dm","em","fm"];    
m.push("gm");//在数组末尾添加元素gm     
alert(m);    
m.pop();//删除数组最后一个元素gm     
alert(m);    
var m=["am","bm","cm","dm","em","fm"]; m.push("gm");//在数组末尾添加元素gm alert(m); m.pop();//删除数组最后一个元素gm alert(m); 运行: <script>var m=["am","bm","cm","dm","em","fm"];m.push("gm");alert(m);m.pop();alert(m);</script>  
数组对象的队列操作:  
unshift():数组头添加一个项  
shift():删除数组第一个项  
代码:   
var m=["am","bm","cm","dm","em","fm"];    
m.unshift("gm");//在数组第一个元素位置添加元素gm     
alert(m);    
m.shift();//删除数组第一个元素gm     
alert(m);    
var m=["am","bm","cm","dm","em","fm"]; m.unshift("gm");//在数组第一个元素位置添加元素gm alert(m); m.shift();//删除数组第一个元素gm alert(m); 


运行: <script>var m=["am","bm","cm","dm","em","fm"];m.unshift("gm");alert(m);m.shift();alert(m);</script>  
sort():数组按字符的ASCII码进行排序,修改数组对象  
注:即便是数字数组,也将转化为字符串来进行比较排序  
代码:   
var m=["am","fm","gm","bm","em","dm"];    
m.sort();//按字母序排序     
alert(m);    
var m=["am","fm","gm","bm","em","dm"]; m.sort();//按字母序排序 alert(m); 
运行: <script>var m=["am","fm","gm","bm","em","dm"];m.sort();alert(m);</script>  
concat():在数组尾添加元素,但不修改数组对象  
代码:   
var m=["am","bm"]    
var n=m.concat("cm");//添加一项cm,并且赋予新数组对象     
alert(m);//原数组没有被修改     
alert(n);//输出新数组对象    
var m=["am","bm"] var n=m.concat("cm");//添加一项cm,并且赋予新数组对象 alert(m);//原数组没有被修改 alert(n);//输出新数组对象 
运行: <script>var m=["am","bm"];var n=m.concat("cm");alert(m);alert(n);</script>  
splice():在数组的任意位置进行添加,删除或者替换元素,直接修改数组对象  
细节:  
splice()有三个参数或三个以上参数,前两个是必须的,后面参数是可选的  
进行添加:splice(起始项,0,添加项)  
进行删除:splice(起始项,要删除的项个数)  


进行替换:splice(起始项,替换个数,替换项) 这个其实是添加删除的共同结果  
代码:   
var m=["am","bm"]    
m.splice(1,0,"fm","sm");//在第一项后面添加fm和sm,返回am,fm,sm,bm     
alert(m);    
m.splice(2,1);//删除第二项后面一项(即第三项sm,返回am,fm,bm)     
alert(m);    
m.splice(2,1,"mm");//替换第二项后面一项(即第三项,返回am,fm,mm)     
alert(m);    
var m=["am","bm"] m.splice(1,0,"fm","sm");//在第一项后面添加fm和sm,返回am,fm,sm,bm alert(m); m.splice(2,1);//删除第二项后面一项(即第三项sm,返回am,fm,bm) alert(m); m.splice(2,1,"mm");//替换第二项后面一项(即第三项,返回am,fm,mm) alert(m); 运行: <script>var m=["am","bm"];m.splice(1,0,"fm","sm");alert(m);m.splice(2,1);alert(m);m.splice(2,0,"mm");alert(m);</script>     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值