<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    探索與發(fā)現(xiàn)

    研究java技術

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      83 隨筆 :: 0 文章 :: 109 評論 :: 0 Trackbacks

    本文介紹如下幾個方面的內(nèi)容:

    1.如何創(chuàng)建數(shù)組

    2.如何對數(shù)組進行操作(添加,刪除,讀取)

    3.數(shù)組常見方法和屬性

    如何創(chuàng)建一個數(shù)組,一般地根據(jù)初始化設定簡單分為3種:

    1.單純創(chuàng)建數(shù)組:

    var arr=new Array();

    要點:用new關鍵字創(chuàng)建數(shù)組對象Array(),Array()對象是一個本地類,可以用new創(chuàng)建一個對象后使用

    2.創(chuàng)建數(shù)組的同時規(guī)定數(shù)組大小:

    var arr=new Array(10);//這里就創(chuàng)建了一個初始化大小為10的數(shù)組

    注意:當使用數(shù)組大小操作初始化大小時,數(shù)組會自動被撐大,不會像C語言那樣發(fā)生錯誤.動態(tài)增長是js數(shù)組的一個性質.另外,js中支持最大數(shù)組長度為

    4294967295

    3.直接初始化:

    var arr=new Array("love","hate","pain");//這里就直接初始化了數(shù)組

    或var arr=["happy","cute","scare"];//括號也可以聲明一個數(shù)組對象

    當然,類似C語言,可以定義2維3維和多維的數(shù)組,例如:

    <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>

    數(shù)組的屬性:length

    arr.length返回數(shù)組arr的長度,常見于循環(huán)中對數(shù)組的遍歷,比如:

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

    執(zhí)行部分

    }

    數(shù)組元素的訪問: arr[index],其中index表示索引即數(shù)組基數(shù),從0開始,共有arr.length個元素.比如: arr[0]訪問第一個數(shù)組元素,arr[1]訪問第二個數(shù)組元素....依

    次類推 數(shù)組的操作方法:先概覽下下面的這些操作數(shù)組常用的方法(13個)

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

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

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

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

    功能:返回數(shù)組的全部元素

    注:數(shù)組名也可以返回整個數(shù)組

    代碼:

        var m=["am","bm","cm"];//用括號聲明一個數(shù)組對象

        alert(m.toString());//toString()返回數(shù)組對象的所有內(nèi)容,用逗號分割,即am,bm,cm

        alert(m.valueOf());//valueOf()也返回數(shù)組對象的所有內(nèi)容

        alert(m.toLocaleString());//toLocaleString()也返回數(shù)組對象的所有內(nèi)容,但有地區(qū)語言區(qū)別,暫不研究

        alert(m);//數(shù)組名也返回數(shù)組對象的所有內(nèi)容

    join():

    功能:把數(shù)組各個項用某個字符(串)連接起來,但并不修改原來的數(shù)組

    代碼:

        var m=["am","bm","cm"];//用括號聲明一個數(shù)組對象

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

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

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

    split():

    功能:把一個字符串按某個字符(串)分割成一個數(shù)組,但不修改原字符串

    代碼:

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

        var arr=str.split("o");//按字符o把str字符串分割成一個數(shù)組

        alert(arr);//輸出整個數(shù)組

    slice():返回某個位置開始(到某個位置結束)的數(shù)組部分,不修改原數(shù)組

    代碼:

        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);

    數(shù)組對象的棧操作:

    push():數(shù)組末尾添加一個項

    pop():刪除數(shù)組最后一個項

    代碼:

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

        m.push("gm");//在數(shù)組末尾添加元素gm

        alert(m);

        m.pop();//刪除數(shù)組最后一個元素gm

        alert(m);

    數(shù)組對象的隊列操作:

    unshift():數(shù)組頭添加一個項

    shift():刪除數(shù)組第一個項

    代碼:

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

        m.unshift("gm");//在數(shù)組第一個元素位置添加元素gm

        alert(m);

        m.shift();//刪除數(shù)組第一個元素gm

        alert(m);

    sort():數(shù)組按字符的ASCII碼進行排序,修改數(shù)組對象

    注:即便是數(shù)字數(shù)組,也將轉化為字符串來進行比較排序

    代碼:

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

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

        alert(m);

    concat():在數(shù)組尾添加元素,但不修改數(shù)組對象

    代碼:

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

        var n=m.concat("cm");//添加一項cm,并且賦予新數(shù)組對象

        alert(m);//原數(shù)組沒有被修改

        alert(n);//輸出新數(shù)組對象

    splice():在數(shù)組的任意位置進行添加,刪除或者替換元素,直接修改數(shù)組對象

    細節(jié):

    splice()有三個參數(shù)或三個以上參數(shù),前兩個是必須的,后面參數(shù)是可選的

    進行添加:splice(起始項,0,添加項)

    進行刪除:splice(起始項,要刪除的項個數(shù))

    進行替換:splice(起始項,替換個數(shù),替換項) 這個其實是添加刪除的共同結果

    代碼:

        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);





    在有的教程上沒有提到數(shù)組對象,都用自定義的數(shù)組,沒提到的大概都是老版本了:

    //定義一維數(shù)組
    function MArray(len){
    this.length = len;
    for(i=1;i<=len;i++) this[i] = 0;
    return this;
    }
    //創(chuàng)建數(shù)組
    var strarray = new MArray(9)
    //訪問數(shù)組
    for(aint in strarray) document.write(aint + ":" + strarray[aint] + "<br>");


    //定義二維數(shù)組
    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;
    }
    //創(chuàng)建二維數(shù)組
    var xarr = new creatMArray(11,2)
    //訪問二維數(shù)組
    for (x in xarr) document.write(x + ":" + xarr[x] + "<br>")
    posted on 2009-05-14 08:18 蜘蛛 閱讀(212) 評論(2)  編輯  收藏 所屬分類: JavaScript

    評論

    # re: 數(shù)組 2009-05-14 08:25 蜘蛛
    JavaScript類型檢測小結(上)
    http://lifesinger.org/blog/?p=1109  回復  更多評論
      

    # re: 數(shù)組 2009-05-14 08:28 蜘蛛
    javascript類型轉換
    http://blog.csdn.net/fireelement/archive/2007/06/03/1636247.aspx  回復  更多評論
      


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 久久久久久亚洲精品中文字幕 | 亚洲AV永久无码区成人网站| 精选影视免费在线 | 亚洲资源在线观看| 日本免费一区尤物| 免费精品久久天干天干| 亚洲avav天堂av在线网爱情| 亚洲国产成人精品久久久国产成人一区二区三区综 | 免费在线观看h片| 四虎影视久久久免费| 亚洲精品日韩中文字幕久久久| 免费看片免费播放| 久别的草原电视剧免费观看| 亚洲精品国产av成拍色拍| 亚洲国产精品乱码一区二区| 无码一区二区三区免费视频| 在线观看免费视频一区| 亚洲AV无码无限在线观看不卡| 亚洲午夜久久久久妓女影院| 99久久综合国产精品免费| 久久性生大片免费观看性| 亚洲人成电影网站免费| 亚洲国产一区在线| jjzz亚洲亚洲女人| 91视频国产免费| 在线观看肉片AV网站免费| 蜜芽亚洲av无码一区二区三区| 亚洲免费在线播放| 亚洲中文久久精品无码| 国产网站免费观看| 成人免费视频77777| 久久大香伊焦在人线免费| 免费中文字幕视频| 久久亚洲精品国产精品婷婷| 亚洲av激情无码专区在线播放| 免费国产精品视频| 成人性生交视频免费观看| 最近中文字幕国语免费完整| 中国一级全黄的免费观看| 免费人成视频在线播放| 亚洲国产区男人本色|