javascript-理解05?數組的概念及定義
一組一般情況下相同類型的數據。
除了 Object 類型之外,Array 類型是ECMAScript 最常用的類型。而且 ECMAScript 中的 Array 類型和其他語言中的數組有著很大的區別。 雖然數組都是有序排列, 但 ECMAScript 中的數組每個元素可以保存任何類型。ECMAScript 中數組的大小也是可以調整的。
數組的創建方式(構造函數和JSON)
第一種是 new 運算符(構造函數);
第二種是字面量(JSON);
註意:給構造函數傳遞一個值也可以創建數組。如果傳遞的是數值,則會按照該數值創建包含 給定項數的數組;而如果傳遞的是其他類型的參數,則會創建包含那個值的只有一項的數組。
數組的操作
使用索引下標來讀取數組的值--下標是固定的,從0開始
靜態賦值/動態賦值(動態的,無需指定大小)
數組的length屬性 ,代表長度
數組的 length 屬性不只是只讀的。通過設置這個屬性,可以從數組的末尾移除項或向數 組中添加新項。
遍歷訪問數組 普通for循環和 for-in循環(結合數組或對象)
約定:所有的點操作可以改寫成中括號的形式: obj.name <===> obj[name]
檢測數組:Array.isArray() 方法
Array.isArray():確定括號中的某個值到底是不是數組
數組的方法
1、push() 方法可以接收任意數量的參數,把它們逐個添加到數組末尾,並返回修改後數組的長度。
2、pop() 方法則從數組末尾移除最後一項,減少數組的 length 值,然後返回移除的項。
3、unshift()方法 能夠在數組前端添加任意個項並返回新數組的長度。
4、shift() 方法能夠移除數組中的第一個項並返回該項,同時將數組長度減 1。
5、reverse() 方法會反轉數組項的順序。
6、sort() 方法按字母表升序排列數組項。
/*var a=prompt();
var b=prompt();
var c=prompt();
var arr=[a,b,c];
alert(arr.sort(function(a,b){
return a-b;
}));
註意:如果按照其他方式而非字母表順序進行數組排列,必須給
reverse() 和 sort() 方法的返回值是經過排序之後的數組,即修改原數組。
7、join()方法將數組中的所有元素都轉化為字符串並連接在一起,返回最後生成的字符串。參數為數組項之間的連接符號。
/*var arr=[1,4,1117,2,5,8,3,6,9];
//alert(arr.join('#'));//轉換成字符串
8、concat() 方法可以基於當前數組中的所有項創建一個新數組。具體來說,這個方法會先創建當前數組一個副本,然後將接收到的參數添加到這個副本的末尾,最後返回新構建的數組。在沒有給 concat() 方法傳遞參數的情況下,它只是復制當前數組並返回副本。如果傳遞給 concat() 方法的是一或多個數組,則該方法會將這些數組中的每一項都添加到結果數組中。如果傳遞的值不是數組,這些值就會被簡單地添加到結果數組的末尾。
/*alert(arr.concat(arr1,arr2,'hehe'));//返回新數組*/
9、slice() 方法它能夠基於當前數組中的一或多個項創建一個新數組。 可以接受一或兩個參數,即要返回項的起始和結束位置,不包括結束位置。
10、splice() 方法,對數組進行刪除、插入、替換
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?數組的概念及定義