1. 程式人生 > >js陣列的管理[增,刪,改,查]

js陣列的管理[增,刪,改,查]

今天在設計表單的時候遇到對陣列的一些處理的問題,比如說怎麼建立一個數組,然後牽扯到陣列的增刪改查的方法。請看API

FF: Firefox, N: Netscape, IE: Internet Explorer

方法描述FFNIE
連線兩個或更多的陣列,並返回結果。144
把陣列的所有元素放入一個字串。元素通過指定的分隔符進行分隔。134
pop()刪除並返回陣列的最後一個元素145.5
向陣列的末尾新增一個或更多元素,並返回新的長度。145.5
顛倒陣列中元素的順序。134
刪除並返回陣列的第一個元素145.5
從某個已有的陣列返回選定的元素144
對陣列的元素進行排序134
刪除元素,並向陣列新增新元素。145.5
toSource()代表物件的原始碼14-
把陣列轉換為字串,並返回結果。134
 把陣列轉換為本地陣列,並返回結果。134
向陣列的開頭新增一個或更多元素,並返回新的長度。146
valueOf()返回陣列物件的原始值124

注: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>