下述方法會改變陣列:
- pop():移除陣列的最後一個元素,並且回傳此元素。
- push():在陣列尾端加上一個或數個元素,回傳陣列的新長度。其語法是:
array.push(元素1, ..., 元素N)
- reverse():反轉元素的排列秩序。
- shift():移除陣列的第一個元素,並且回傳此元素。
- sort():依元件值的大小,重新排列元素。其語法是:
array.sort( 比較函式 );
程式師可以自訂比較函式。如果沒有設客製比較函式,則用系統預設的比較函式--先換成字串,再依字典排序。
如果 比較函式(a, b) < 0, 則 a 的指標要比 b 的指標小。
如果 比較函式(a, b) == 0, 則 a, b 不動。
如果 比較函式(a, b) > 0, 則 a 的指標要比 b 的指標大。 - splice():移除或增加陣列的元素。其語法是:
array.splice( 指標, [ 個數, [元素1][, ..., 元素N]] );
從指標起,移除”個數”個元素。後接增加的元素,加在指標處。如果只有開始指標,則移除自指標到尾端的元素。
- unshift():在陣列前端加上一個或數個元素,回傳陣列的新長度。其語法是:
array.unshift(元素1, ..., 元素N)
- 程式用法:
<script type='text/javascript'>
var ar=[ '吳宗憲', '男', '台北市', 55 ];
document.write( '<table>');
document.write( '<tr><td>陣列內容: <td>'+ ar +
'<tr><td>POP: <td>'+ar.pop() +
'<tr><td>PUSH: <td>'+ar.push('諧星') +
'<tr><td>陣列內容: <td>'+ ar +
'<tr><td>REVERSE: <td>'+ar.reverse() +
'<tr><td>SHIFT: <td>'+ar.shift() +
'<tr><td>陣列內容: <td>' + ar +
'<tr><td>SORT: <td>'+ar.sort() +
'<tr><td>SPLICE: <td>'+ar.splice(1,1,'風趣','大頭') +
'<tr><td>陣列內容: <td>' + ar +
'<tr><td>UNSHIFT: <td>'+ar.unshift('很好笑') +
'<tr><td>陣列內容: <td>'+ ar
);
document.write( '</table>');
</script> - 執行結果:
陣列內容: 吳宗憲,男,台北市,55 POP: 55 PUSH: 4 陣列內容: 吳宗憲,男,台北市,諧星 REVERSE: 諧星,台北市,男,吳宗憲 SHIFT: 諧星 陣列內容: 台北市,男,吳宗憲 SORT: 台北市,吳宗憲,男 SPLICE: 吳宗憲 陣列內容: 台北市,風趣,大頭,男 UNSHIFT: 5 陣列內容: 很好笑,台北市,風趣,大頭,男
下面作了一個比較函式 compare2,用在 sort 方法。compare2 用字串的長度作比較。
- 程式用法:
<script type='text/javascript'>
function compare2(a, b)
{
return a.length-b.length;
}
var ar=[ '吳宗憲', '男', '台北市', '五五' ];
document.write( ar.sort( compare2 ) );
</script> - 執行結果:
男,五五,吳宗憲,台北市