2008年12月6日

Array:唯讀方法

Array | 特徵 | 變動方法 | 唯讀方法 | 重複方法

下述方法會取出陣列元素,但不會改變陣列。

concat()

將數個陣列或數值依序連接,產生新的陣列。其語法是:

var ar = array.concat(參數1, 參數2, ..., 參數N);

上述參數可是陣列,也可以是數值。如果參數是物件,會存其參考位置;如果是數值與字串,會存其值。

  • 程式用法:

    <script type='text/javascript'>
    var ar=[ 'A', 'B', 'C', 'D'  ];
    document.write( ar + '<br />'+
                    ar.concat("台北市") );
    </script>

  • 執行結果:

    A,B,C,D
    A,B,C,D,台北市

join()

將陣列的元素連接成一個字串。其語法是:

join( 分隔字串 )

元素間,會放分隔字串。沒有設分隔字串時,用”,”分隔。

  • 程式用法:

    <script type='text/javascript'>
    var as=ar.join('==');
    document.write( typeof as
                +'<br />'+ as );
    </script>

  • 執行結果:

    string
    A==B==C==D

slice()

自陣列讀出連續的數個元素,回傳一個新陣列。其語法是:

slice(始指標 [,終指標])

始指標指定開始元件;只有始指標時,讀取到最後一個元素。有設終指標,則讀取到終指標前一個元素。如果參數是負值,則由尾端算起。如果參數是物件,會存其參考位置。如果是數值與字串,會存其值。

  • 程式用法:

    <script type='text/javascript'>
    var a1=ar.slice(1,3);
    document.write( typeof a1
                +'<br />'+ a1 );
    </script>

  • 執行結果:

    object
    B,C

toSource()

回傳陣列的源碼。非標準函式。

  • 程式用法:

    <script type='text/javascript'>
    document.write( ar.toSource() );
    </script>

  • 執行結果:

  • IE, Safari, Chrome 會失敗;只有 Firefox 支援。
toString()

將陣列元素組成字串,元素間用”,”隔開。

  • 程式用法:

    <script type='text/javascript'>
    document.write( ar.toString() );
    </script>

  • 執行結果:

    A,B,C,D

indexOf()

由前向後尋找陣列中,第一個符合(全等於 ===)參數1 的元素,傳回其指標;沒找到傳回 -1。大小寫字母不同。可選用始指標指定開始位址;始指標為負值,則由尾端算起。其語法是:

指標 = array.indexOf( 參數1 [, 始指標]);

  • 程式用法:

    <script type='text/javascript'>
    document.write( ar.indexOf('C') );
    </script>

  • 執行結果:

    2

  • IE 會失敗;Firefox, Safari, Chrome 有支援。
lastIndexOf()

由後向前尋找陣列中,最後一個符合(全等於 ===)參數1 的元素,傳回其指標;沒找到傳回 -1。大小寫字母不同。可選用始指標指定開始位址;始指標大於等於陣列長度,會搜尋整個陣列。其語法是:

指標 = array.lastIndexOf( 參數1 [, 始指標]);

  • 程式用法:

    <script type='text/javascript'>
    document.write( ar.lastIndexOf('b') );
    </script>

  • 執行結果:

    -1

  • IE 會失敗;Firefox, Safari, Chrome 有支援。

©2008-2009 by ant2legs, All Rights Reserved. ant2legs 擁有其製作的文章,圖片與程式的著作權,所有權利保留。