下述方法會取出陣列元素,但不會改變陣列。
將數個陣列或數值依序連接,產生新的陣列。其語法是:
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( 分隔字串 )
元素間,會放分隔字串。沒有設分隔字串時,用”,”分隔。
- 程式用法:
<script type='text/javascript'>
var as=ar.join('==');
document.write( typeof as
+'<br />'+ as );
</script> - 執行結果:
string
A==B==C==D
自陣列讀出連續的數個元素,回傳一個新陣列。其語法是:
slice(始指標 [,終指標])
始指標指定開始元件;只有始指標時,讀取到最後一個元素。有設終指標,則讀取到終指標前一個元素。如果參數是負值,則由尾端算起。如果參數是物件,會存其參考位置。如果是數值與字串,會存其值。
- 程式用法:
<script type='text/javascript'>
var a1=ar.slice(1,3);
document.write( typeof a1
+'<br />'+ a1 );
</script> - 執行結果:
object
B,C
回傳陣列的源碼。非標準函式。
- 程式用法:
<script type='text/javascript'>
document.write( ar.toSource() );
</script> - 執行結果:
- IE, Safari, Chrome 會失敗;只有 Firefox 支援。
將陣列元素組成字串,元素間用”,”隔開。
- 程式用法:
<script type='text/javascript'>
document.write( ar.toString() );
</script> - 執行結果:
A,B,C,D
由前向後尋找陣列中,第一個符合(全等於 ===)參數1 的元素,傳回其指標;沒找到傳回 -1。大小寫字母不同。可選用始指標指定開始位址;始指標為負值,則由尾端算起。其語法是:
指標 = array.indexOf( 參數1 [, 始指標]);
- 程式用法:
<script type='text/javascript'>
document.write( ar.indexOf('C') );
</script> - 執行結果:
2
- IE 會失敗;Firefox, Safari, Chrome 有支援。
由後向前尋找陣列中,最後一個符合(全等於 ===)參數1 的元素,傳回其指標;沒找到傳回 -1。大小寫字母不同。可選用始指標指定開始位址;始指標大於等於陣列長度,會搜尋整個陣列。其語法是:
指標 = array.lastIndexOf( 參數1 [, 始指標]);
- 程式用法:
<script type='text/javascript'>
document.write( ar.lastIndexOf('b') );
</script> - 執行結果:
-1
- IE 會失敗;Firefox, Safari, Chrome 有支援。