今天在設計表單的時候遇到對數組的一些處理的問題,比如說怎么創建一個數組,然后牽扯到數組的增刪改查的方法。請看API
FF: Firefox, N: Netscape, IE: Internet Explorer
方法 | 描述 | FF | N | IE |
---|---|---|---|---|
concat() | 連接兩個或更多的數組,並返回結果。 | 1 | 4 | 4 |
join() | 把數組的所有元素放入一個字符串。元素通過指定的分隔符進行分隔。 | 1 | 3 | 4 |
pop() | 刪除並返回數組的最后一個元素 | 1 | 4 | 5.5 |
push() | 向數組的末尾添加一個或更多元素,並返回新的長度。 | 1 | 4 | 5.5 |
reverse() | 顛倒數組中元素的順序。 | 1 | 3 | 4 |
shift() | 刪除並返回數組的第一個元素 | 1 | 4 | 5.5 |
slice() | 從某個已有的數組返回選定的元素 | 1 | 4 | 4 |
sort() | 對數組的元素進行排序 | 1 | 3 | 4 |
splice() | 刪除元素,並向數組添加新元素。 | 1 | 4 | 5.5 |
toSource() | 代表對象的源代碼 | 1 | 4 | - |
toString() | 把數組轉換為字符串,並返回結果。 | 1 | 3 | 4 |
toLocaleString() | 把數組轉換為本地數組,並返回結果。 | 1 | 3 | 4 |
unshift() | 向數組的開頭添加一個或更多元素,並返回新的長度。 | 1 | 4 | 6 |
valueOf() | 返回數組對象的原始值 | 1 | 2 | 4 |
注:JAVAScript數組與VBScript的數組不單在語法上不同,在使用時也有眾多不同之處,請注意區分。
一、建立數組對象
我們再介紹JAVAScript的數組對象的建立方法。(其實這種方法和前面的方法在本質上是一樣的,只是在語句的寫法上有所區別,上面的方法在程序很短的時使用比較簡潔,在一般情況下我還是建議您用以下方法建立數組對象。)建立數組對象的語法有兩種:
1、在聲明數組時僅僅聲明數組內有幾個組件。
var 數組對象名稱 = new Array(組件個數);
fruit = new Array(3); //聲明名為fruit的數組,共有三個組件,這就相當於一次聲明了三個變量
然后必須另行准備幾行程序代碼,代序將變量值填入。
fruit[0] = "西瓜";
fruit[1] = "蘋果";
fruit[2] = "香蕉";
2、聲明時直接給定所有數組組件,彼此之間用逗號隔開,用小括號括起來,組件個數就是數組長度。
var 數組對象名稱 = new Array(組件一......,組件N);
var fruit = new Array("西瓜","蘋果","香蕉");
注:在一般語言中數組內的組件必須是相同類型的值,但是在JAVAScript當中可以將不同類型的數據放入數組中。
二、數組對象的屬性
JAVAScript為數組對象提供以下幾種屬性:
使用格式:
數組對象名稱.屬性
序 屬性名稱 使用說明
1 constructor 指定建立地象原型(prototype)函數
2 index 代表數組組件的索引值
3 input 代表規則表達式中的字符串。
4 length 取得數組長度(數組組件個數)。
5 prototype 用以建立自定義的對象屬性
三、數組對象的方法
JAVAScript為數組對象提供以下多種方法:
使用格式:
數組對象名稱.方法(參數)
序 方法名稱 使用說明
1 concat(數組1,數組2,...,數組N) 將多個數組結合成一個新的數組
2 join(分隔字符) 將數組結合成一個字符串,用特定字符來分開
3 pop() 將數組內最后一個組件刪除,並返回該組件內容
4 push(組件1,組件2,...,組件N) 將一個或多個組件補在數組最后面,並返回最后一個組件內容
5 reverse() 將數組內所有組件的索引次序反轉(Transpose)
第一個組件變成最后一個,最后一個組件則拿到最前面
6 shift() 將數組內第一個組件刪除,並返回該組件內容
7 slice(開始索引,結束索引) 將數組內容轉入一個新的數杉
8 sort() 將數組內容排序
9 splice() 增加或刪除數組組件
10 toSource() 返回代表特定數組的數組常數,可以用來建立新的數組
11 toString() 以字符串來表示該數組及其組件
12 unshift(組件1,組件2,...,組件N) 將一個或多個組件補在數組最前面,並返回最后數組長度
13 valueOf() 取得數組值
注:其中有些方法,例如:push、shift、unshift……在有些版本的IE瀏覽器還不支持,使用時應特別注意。
舉例:
<Script language = "JAVAScript">
<!--
var fruit = new Array("西瓜","香蕉","蘋果"); //聲明數組並給數組內三種水果賦值
//第一次顯示數組“fruit”的3個變量內容,<br>是換行符
document.write(fruit[0] + "<br>" + fruit[1] + "<br>" + fruit[2] + "<br>" + fruit);
document.write("<hr>"); //插入水平線做為分隔線
//第二次顯示數組,<hr>是插入水平線做為分隔線
with (document) {
write(fruit.reverse() + "<hr>"); //將數組反轉
write(fruit.join("、") + "<hr>"); //將數組結合成一個字符串,用“、”分開
write(fruit.sort() + "<hr>"); //將數組內容排序
write(fruit.length + "<hr>"); //計算出數組的長度
}
-->
</Script>