1. 程式人生 > >javascript-理解05?數組的概念及定義

javascript-理解05?數組的概念及定義

javascript

數組的概念及定義

一組一般情況下相同類型的數據。

除了 Object 類型之外,Array 類型是ECMAScript 最常用的類型。而且 ECMAScript 中的 Array 類型和其他語言中的數組有著很大的區別。 雖然數組都是有序排列, 但 ECMAScript 中的數組每個元素可以保存任何類型。ECMAScript 中數組的大小也是可以調整的。

數組的創建方式(構造函數和JSON)

第一種是 new 運算符(構造函數);

第二種是字面量(JSON);

註意:給構造函數傳遞一個值也可以創建數組。如果傳遞的是數值,則會按照該數值創建包含 給定項數的數組;而如果傳遞的是其他類型的參數,則會創建包含那個值的只有一項的數組。

數組的操作

使用索引下標來讀取數組的值--下標是固定的,從0開始

靜態賦值/動態賦值(動態的,無需指定大小)

數組的length屬性 ,代表長度

數組的 length 屬性不只是只讀的。通過設置這個屬性,可以從數組的末尾移除項或向數 組中添加新項。

遍歷訪問數組 普通for循環和 for-in循環(結合數組或對象)

約定:所有的點操作可以改寫成中括號的形式: obj.name <===> obj[name]

檢測數組:Array.isArray() 方法

Array.isArray():確定括號中的某個值到底是不是數組

數組的方法

1push() 方法可以接收任意數量的參數,把它們逐個添加到數組末尾,並返回修改後數組的長度。

2pop() 方法則從數組末尾移除最後一項,減少數組的 length 值,然後返回移除的項。

3unshift()方法 能夠在數組前端添加任意個項並返回新數組的長度。

4shift() 方法能夠移除數組中的第一個項並返回該項,同時將數組長度減 1

5reverse() 方法會反轉數組項的順序。

6sort() 方法按字母表升序排列數組項。

/*var a=prompt();

var b=prompt();

var c=prompt();

var arr=[a,b,c];

alert(arr.sort(function(a,b){

return a-b;

}));

註意:如果按照其他方式而非字母表順序進行數組排列,必須給

sort方法傳遞一個比較函數(做參數)。

reverse() sort() 方法的返回值是經過排序之後的數組,即修改原數組。

7join()方法將數組中的所有元素都轉化為字符串並連接在一起,返回最後生成的字符串。參數為數組項之間的連接符號。

/*var arr=[1,4,1117,2,5,8,3,6,9];

//alert(arr.join('#'));//轉換成字符串

8concat() 方法可以基於當前數組中的所有項創建一個新數組。具體來說,這個方法會先創建當前數組一個副本,然後將接收到的參數添加到這個副本的末尾,最後返回新構建的數組。在沒有給 concat() 方法傳遞參數的情況下,它只是復制當前數組並返回副本。如果傳遞給 concat() 方法的是一或多個數組,則該方法會將這些數組中的每一項都添加到結果數組中。如果傳遞的值不是數組,這些值就會被簡單地添加到結果數組的末尾。

/*alert(arr.concat(arr1,arr2,'hehe'));//返回新數組*/

9slice() 方法它能夠基於當前數組中的一或多個項創建一個新數組。 可以接受一或兩個參數,即要返回項的起始和結束位置,不包括結束位置。

10splice() 方法,對數組進行刪除、插入、替換

var arr=['a','b','c','d','e','f','g'];//改變原數組

//alert(arr.slice(2));//2開始截取一直到最後,2指的是下標

//alert(arr.slice(2,5));//不包括5的位置

//alert(arr.slice(-4,-1));//負數反向數,-1開始,註意數字的順序

//alert(arr.slice(5,-1));//f

//alert(arr.slice(5,-2));//

//刪除、插入、替換

//alert(arr.splice(2));

/*alert(arr.splice(2,1,'ok'));//替換

alert(arr);*/

整數數組/字符串數組/對象數組/二維數組


javascript-理解05?數組的概念及定義