js陣列的管理[增,刪,改,查]
今天在設計表單的時候遇到對陣列的一些處理的問題,比如說怎麼建立一個數組,然後牽扯到陣列的增刪改查的方法。請看API
FF: Firefox, N: Netscape, IE: Internet Explorer
方法 | 描述 | FF | N | IE |
---|---|---|---|---|
連線兩個或更多的陣列,並返回結果。 | 1 | 4 | 4 | |
把陣列的所有元素放入一個字串。元素通過指定的分隔符進行分隔。 | 1 | 3 | 4 | |
pop() | 刪除並返回陣列的最後一個元素 | 1 | 4 | 5.5 |
向陣列的末尾新增一個或更多元素,並返回新的長度。 | 1 | 4 | 5.5 | |
顛倒陣列中元素的順序。 | 1 | 3 | 4 | |
刪除並返回陣列的第一個元素 | 1 | 4 | 5.5 | |
從某個已有的陣列返回選定的元素 | 1 | 4 | 4 | |
對陣列的元素進行排序 | 1 | 3 | 4 | |
刪除元素,並向陣列新增新元素。 | 1 | 4 | 5.5 | |
toSource() | 代表物件的原始碼 | 1 | 4 | - |
把陣列轉換為字串,並返回結果。 | 1 | 3 | 4 | |
把陣列轉換為本地陣列,並返回結果。 | 1 | 3 | 4 | |
向陣列的開頭新增一個或更多元素,並返回新的長度。 | 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>