??xml version="1.0" encoding="utf-8" standalone="yes"?>国产乱码精品一区二区三区不卡 ,成人精品网站在线观看,国产日本在线视频http://www.aygfsteel.com/zhaijianhui/category/39563.html研究java技?/description>zh-cnThu, 14 May 2009 02:09:19 GMTThu, 14 May 2009 02:09:19 GMT60数组http://www.aygfsteel.com/zhaijianhui/archive/2009/05/14/270529.html蜘蛛蜘蛛Thu, 14 May 2009 00:18:00 GMThttp://www.aygfsteel.com/zhaijianhui/archive/2009/05/14/270529.htmlhttp://www.aygfsteel.com/zhaijianhui/comments/270529.htmlhttp://www.aygfsteel.com/zhaijianhui/archive/2009/05/14/270529.html#Feedback2http://www.aygfsteel.com/zhaijianhui/comments/commentRss/270529.htmlhttp://www.aygfsteel.com/zhaijianhui/services/trackbacks/270529.html本文介绍如下几个斚w的内?

1.如何创徏数组

2.如何Ҏl进行操作(d,删除,d)

3.数组常见Ҏ和属?/p>

如何创徏一个数l?一般地Ҏ初始化设定简单分?U?

1.单纯创徏数组:

var arr=new Array();

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

2.创徏数组的同时规定数l大?

var arr=new Array(10);//q里创Z一个初始化大小?0的数l?/p>

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

4294967295

3.直接初始?

var arr=new Array("love","hate","pain");//q里q接初始化了数l?/p>

或var arr=["happy","cute","scare"];//括号也可以声明一个数l对?/p>

当然,cMC语言,可以定义2l?l和多维的数l?例如:

<script language=Javascript>

    var myArray = new Array();

    for(var i=0;i<10;i++ )...{

        myArray[i]=new Array();

        myArray[i][0]=Math.floor(Math.random()*10);

        myArray[i][1]=Math.floor(Math.random()*10);

        myArray[i][2]=Math.floor(Math.random()*10);

        myArray[i][3]=Math.floor(Math.random()*10);

        myArray[i][4]=Math.floor(Math.random()*10);

        myArray[i][5]=Math.floor(Math.random()*10);

        myArray[i][6]=Math.floor(Math.random()*10);

        myArray[i][7]=Math.floor(Math.random()*10);

        myArray[i][8]=Math.floor(Math.random()*10);

    }

   

    myArray.sort( function(x, y) ...{

        return (x[0]==y[0])?((x[4]==y[4])?(x[8]-y[8]):(x[4]-y[4])):(x[2]-y[2])

    });

    for(var i=0;i<myArray.length;i++ )...{

        document.write(myArray[i].join(",") + "<br/>");

    }

</script>

数组的属?length

arr.lengthq回数组arr的长?常见于@环中Ҏl的遍历,比如:

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

执行部分

}

数组元素的访? arr[index],其中index表示索引xl基??开?共有arr.length个元?比如: arr[0]讉KW一个数l元?arr[1]讉KW二个数l元?...?/p>

ơ类?数组的操作方?先概览下下面的这些操作数l常用的Ҏ(13?

toString(),valueOf(),toLocalString(),join(),split(),slice(),concat(),

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

下面逐一分析q些Ҏ的功能和用法.

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

功能:q回数组的全部元?/p>

?数组名也可以q回整个数组

代码:

    var m=["am","bm","cm"];//用括号声明一个数l对?/p>

    alert(m.toString());//toString()q回数组对象的所有内?用逗号分割,即am,bm,cm

    alert(m.valueOf());//valueOf()也返回数l对象的所有内?/p>

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

    alert(m);//数组名也q回数组对象的所有内?/p>

join():

功能:把数l各个项用某个字W??q接h,但ƈ不修改原来的数组

代码:

    var m=["am","bm","cm"];//用括号声明一个数l对?/p>

    var n=m.join("---");//?--q接am,bm,cm.

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

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

split():

功能:把一个字W串按某个字W??分割成一个数l?但不修改原字W串

代码:

    var str="I love maomao,I am caolvchong";

    var arr=str.split("o");//按字Wo把str字符串分割成一个数l?/p>

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

slice():q回某个位置开?到某个位|结?的数l部?不修改原数组

代码:

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

    var n=m.slice(2);//q回W二个元素bm后面的元?即cm,dm,em,fm

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

    alert(n);

    alert(q);

数组对象的栈操作:

push():数组末尾d一个项

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

代码:

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

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

    alert(m);

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

    alert(m);

数组对象的队列操?

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

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

代码:

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

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

    alert(m);

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

    alert(m);

sort():数组按字W的ASCII码进行排?修改数组对象

?即便是数字数l?也将转化为字W串来进行比较排?/p>

代码:

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

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

    alert(m);

concat():在数l尾d元素,但不修改数组对象

代码:

    var m=["am","bm"]

    var n=m.concat("cm");//d一cm,q且赋予新数l对?/p>

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

    alert(n);//输出新数l对?/p>

splice():在数l的L位置q行d,删除或者替换元?直接修改数组对象

l节:

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

q行d:splice(起始?0,d?

q行删除:splice(起始?要删除的个?

q行替换:splice(起始?替换个数,替换? q个其实是添加删除的共同l果

代码:

    var m=["am","bm"]

    m.splice(1,0,"fm","sm");//在第一后面添加fm和sm,q回am,fm,sm,bm

    alert(m);

    m.splice(2,1);//删除W二后面一?即第三项sm,q回am,fm,bm)

    alert(m);

    m.splice(2,1,"mm");//替换W二后面一?即第三项,q回am,fm,mm)

    alert(m);





在有的教E上没有提到数组对象Q都用自定义的数l,没提到的大概都是老版本了Q?

//定义一l数l?
function MArray(len){
this.length = len;
for(i=1;i<=len;i++) this[i] = 0;
return this;
}
//创徏数组
var strarray = new MArray(9)
//讉K数组
for(aint in strarray) document.write(aint + ":" + strarray[aint] + "<br>");


//定义二维数组
function creatMArray(row,col){
var indx=0;
this.length=(row*10)+col
for(var x=1;x<=row;x++)
for(var y=1;y<=col;y++){
indx=(x*10)+y;
this[indx]="";
}
return this;
}
//创徏二维数组
var xarr = new creatMArray(11,2)
//讉K二维数组
for (x in xarr) document.write(x + ":" + xarr[x] + "<br>")

蜘蛛 2009-05-14 08:18 发表评论
]]>
վ֩ģ壺 տ| | | | | | ŷ| Ϸ| ӥ̶| | ɽ| | μԴ| ̶| ڰ| ɣ| | | «| ľ| ɽ| ٷ| Ϫ| Դ| | | | Զ| | ޭ| | Ӧ| կ| ޻| ӳ| | ԭ| | | ͼ| |