JavaScript學習:JavaScript數組

一、JS數組兩種表示方法
1、var cars = [“Saab”, “Volvo”, “BMW”];
2、var cars = new Array(“Saab”, “Volvo”, “BMW”); 使用JavaScript關鍵詞new。
出於簡潔、可讀性和執行速度的考慮,請使用第一種方法(數組文本方法)。
二、訪問數組元素
索引號(下標號)從0開始
訪問:var name = cars[0]; 修改cars中的首個元素:cars[0] = “Opel”;
三、數組是對象數組是特殊類型的對象,typeof返回object,但數組使用數字來訪問其元素,例如上面的cars[0];對象使用名稱來訪問,例如:var person = {firstName:“John”, lastName:“Doe”, age:46}; person.firstName;//返回John
四、數組屬性,JavaScript 數組的真實力量隱藏在數組的屬性和方法中。
length屬性,返回數組的長度(數組元素的數目)
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.length; // fruits 的長度是 4
var first=fruits[0];訪問地一個數組元素
var last = fruits[fruits.length - 1];訪問最後一個數組元素
注意:length 屬性始終大於最高數組索引(下標)。
五、數組方法
1、遍歷數組元素
a、for循環:遍歷數組最安全的方法。
例:
在這裏插入圖片描述
b、也可以使用 Array.foreach() 函數

在這裏插入圖片描述
2、push()方法添加數組元素
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.push(“Lemon”); // 向 fruits 添加一個新元素 (Lemon)
注意:添加最高索引的元素可在數組中創建未定義的“洞”。
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits[6] = “Lemon”; // 向 fruits 添加一個新元素 (Lemon)
//Banana Orange Apple Mango undefined undefined Lemon
3、pop()方法從數組中刪除最後一個元素
pop() 方法返回“被彈出”的值
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
var x = fruits.pop(); // x 的值是 “Mango”
4、shift() 方法刪除首個數組元素,並把所有其他元素“位移”到更低的索引。
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.shift(); // 從 fruits 刪除第一個元素 “Banana” 返回 “Banana”
5、unshift() 方法在開頭向數組添加新元素,並“反向位移”舊元素。
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.unshift(“Lemon”); // 向 fruits 添加新元素 “Lemon” 返回 5
6、toString()把數組轉換個刪除成字符串逗號隔開的字符串
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
document.getElementById(“demo”).innerHTML = fruits.toString();
//Banana,Orange,Apple,Mango
7、join() 方法將所有數組元素結合爲一個字符串,行爲和toString類似,但是可以規定分隔符。
例:
var fruits = [“Banana”, “Orange”,“Apple”, “Mango”];
document.getElementById(“demo”).innerHTML = fruits.join(" * ");
// Banana * Orange * Apple * Mango
8、刪除元素用delete 運算符來刪除
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
delete fruits[0]; // 把 fruits 中的首個元素改爲 undefined
注意:使用 delete 會在數組留下未定義的空洞。請使用 pop() 或 shift() 取而代之。
9、splice()方法拼接數組可用於向數組添加新項
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.splice(2, 0, “Lemon”, “Kiwi”); //新數組:
Banana,Orange,Lemon,Kiwi,Apple,Mango
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.splice(2, 2, “Lemon”, “Kiwi”);//新數組:
Banana,Orange,Lemon,Kiwi(已刪除項:
Apple,Mango)
第一個參數(2)定義了應添加新元素的位置(拼接)。
第二個參數(0)定義應刪除多少元素。
其餘參數(“Lemon”,“Kiwi”)定義要添加的新元素。
a、使用 splice() 來刪除元素
例:
var fruits = [“Banana”, “Orange”, “Apple”, “Mango”];
fruits.splice(0, 1); // 刪除 fruits 中的第一個元素
第一個參數(0)定義新元素應該被添加(接入)的位置。
第二個參數(1)定義應該刪除多少個元素。
其餘參數被省略。沒有新元素將被添加。
10、concat()方法合併(連接)數組通過合併(連接)現有數組來創建一個新數組
例(合併兩個數組)
var myGirls = [“Cecilie”, “Lone”];
var myBoys = [“Emil”, “Tobias”, “Linus”];
var myChildren = myGirls.concat(myBoys); // 連接 myGirls 和 myBoys
concat() 方法不會更改現有數組。它總是返回一個新數組。
concat() 方法可以使用任意數量的數組參數:
例(合併三個數組):
var arr1 = [“Cecilie”, “Lone”];
var arr2 = [“Emil”, “Tobias”, “Linus”];
var arr3 = [“Robin”, “Morgan”];
var myChildren = arr1.concat(arr2, arr3); // 將arr1、arr2 與 arr3 連接在一起
例(將數組與值合併)
var arr1 = [“Cecilie”, “Lone”];
var myChildren = arr1.concat([“Emil”, “Tobias”, “Linus”]);//Emma,Isabella,Jacob,Michael,Ethan
11、slice()裁剪數組用數組的某個片段切出新數組,它不會從源數組中刪除任何元素
例:
var fruits = [“Banana”, “Orange”, “Lemon”, “Apple”, “Mango”];
var citrus = fruits.slice(1); //orange開始,Orange,Lemon,Apple,Mango
a、slice() 可接受兩個參數,比如 (1, 3)。該方法會從開始參數選取元素,直到結束參數(不包括)爲止。
例:
var fruits = [“Banana”, “Orange”, “Lemon”, “Apple”, “Mango”];
var citrus = fruits.slice(1, 3); // 1參數表示從1開始裁剪,3參數表示裁剪3個但不包括第三個
六、關聯數組
很多編程元素支持命名索引的數組,具有命名索引的數組被稱爲關聯數組(或散列)。JavaScript 不支持命名索引的數組,在 JavaScript 中,數組只能使用數字索引
例:
var person = [];
person[0] = “Bill”;
person[1] = “Gates”;
person[2] = 62;
var x = person.length; // person.length 返回 3
var y = person[0]; // person[0] 返回 “Bill”
假如您使用命名索引,JavaScript 會把數組重定義爲標準對象。之後,所有數組的方法和屬性將產生非正確結果。
例:
var person = [];
person[“firstName”] = “Bill”;
person[“lastName”] = “Gates”;
person[“age”] = 62;
var x = person.length; // person.length 將返回 0
var y = person[0]; // person[0] 將返回 undefined
七、數組和對象的區別
在 JavaScript 中,數組使用數字索引
在 JavaScript 中,對象使用命名索引
數組是特殊類型的對象,具有數字索引。
八、何時使用數組or對象
JavaScript不支持關聯數組,如果希望元素名爲字符串(文本)應使用對象;如果希望元素名爲數字應使用數組
W3School JavaScript

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章