JavaScript 對陣列物件提供了很多相關的方法,列表如下:
方法 | 說明
|
---|
concat() | 傳回一個由兩個或兩個以上陣列並排而成的新陣列
|
join() | 傳回一個字串值,它是由陣列中的所有元素串連在一起所組成,並且用特定的分隔字元來分隔
|
pop() | 移除陣列的最後一個元素,並將它傳回
|
push() | 附加新元素到陣列尾部,並傳回陣列的新長度
|
reverse() | 傳回一個元素位置反轉的陣列
|
shift() | 移除陣列的第一個元素,並將它傳回
|
slice() | 傳回陣列的一個區段
|
splice() | 移除陣列中的元素,並依需要在原位插入新元素,然後傳回被刪除的元素
|
sort() | 傳回一個元素已排序過的陣列
|
toString() | 傳回一個物件(或陣列)的字串表示法
|
unshift() | 在陣列開始處插入指定的元素,並傳回此陣列
|
舉例來說,對於一個陣列,我們可用 sort() 來進行排序,或用 reverse() 來進行反排,範例如下:
上述範例的原始檔如下:
從上述範例可以看出,sort() 會先將數值轉成字串,再進行字串的排序。若要進行數值的排序,就必須定義一個比較函數,並將此比較函數送進 sort(),請見下列範例
上述範例的原始檔如下:
由此範例可知,只要我們定義了一個明確的比較函數,sort() 就會根據此函數來進行比較及排序。(另外,在上例中,當我們使用加號將陣列和字串並排時,JavaScript 會將陣列轉換成由逗號隔開的字串,便於並排。)
有一些方法可用來增大或縮小 一個陣列,例如 pop()、push()、shift() 和 unshift(),請見下例:
上述範例的原始檔如下:
我們也可以使用 toString()(將矩陣轉成由逗點相連的字串)或 join()(將矩陣轉成由特定符號相連的字串)來將陣列轉成單一字串,範例如下:
上述範例的原始檔如下:
有上述範例可以看出,myPet.toString() 和 myPet.join() 得到的結果是一樣的。
另一個和 join() 功能相反的函數是 split(),可以將字串切開來,轉成陣列,此外,我們也可以使用 concat() 指令將兩個陣列連接起來,形成一個更大的陣列,範例如下:
上述範例的原始檔如下:
對於內建的物件,我們可以使用 prototype 屬性來定義新的方法。例如,對於一個陣列物件,如果我們要定義一個新方法 max() 來傳回陣列中最大的值,可見下列範例:
上述範例的原始檔如下:
在上述範例中,請特別注意兩點:
- 我們使用 Array.prototype.max 來定義自訂方法 max() 所對應的函數是 arrayMax()。
- 在函數 arrayMax() 中,this 代表此方法所對應的物件。
下面這個範例,列出一個陣列的所有性質:
上述範例的原始檔如下:
在上述範例中,可以發覺 JavaScript 似乎把 0, 1, 2 當成是陣列物件的性質,但事實上,我們在取用陣列的元素時,還是必須使用 myArray[2] 或是 myArray["2"] 等,而不能使用 myArray.2,依此類推。
JavaScript 程式設計與應用:用於網頁用戶端