JavaScript 數組方法

JavaScript 數組方法

  • JS 數組
  • JS 數組排序

JavaScript 數組方法

JavaScript 數組的力量隱藏在數組方法中。

把數組轉換為字符串

JavaScript 方法 toString() 把數組轉換為數組值(逗號分隔)的字符串。

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.toString();
/<code>

結果

<code>Banana,Orange,Apple,Mango/<code>

親自試一試

join() 方法也可將所有數組元素結合為一個字符串。

它的行為類似 toString(),但是您還可以規定分隔符:

實例

<code>var fruits = ["Banana", "Orange","Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.join(" * ");
/<code>

結果

<code>Banana * Orange * Apple * Mango/<code>

親自試一試

Popping 和 Pushing

在處理數組時,刪除元素和添加新元素是很簡單的。

Popping 和 Pushing 指的是:

從數組彈出項目,或向數組推入項目。

Popping

pop() 方法從數組中刪除最後一個元素:

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop(); // 從 fruits 刪除最後一個元素("Mango")
/<code>

親自試一試

pop() 方法返回“被彈出”的值:

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.pop(); // x 的值是 "Mango"
/<code>

親自試一試

Pushing

push() 方法(在數組結尾處)向數組添加一個新的元素:

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi"); // 向 fruits 添加一個新元素
/<code>

親自試一試

push() 方法返回新數組的長度:

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.push("Kiwi"); // x 的值是 5
/<code>

親自試一試

位移元素

位移與彈出等同,但處理首個元素而不是最後一個。

shift() 方法會刪除首個數組元素,並把所有其他元素“位移”到更低的索引。

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift(); // 從 fruits 刪除第一個元素 "Banana"
/<code>

親自試一試

shift() 方法返回被“位移出”的字符串:

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift(); // 返回 "Banana"
/<code>

親自試一試

unshift() 方法(在開頭)向數組添加新元素,並“反向位移”舊元素:

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon"); // 向 fruits 添加新元素 "Lemon"
/<code>

親自試一試

unshift() 方法返回新數組的長度。

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon"); // 返回 5
/<code>

親自試一試

更改元素

通過使用它們的索引號來訪問數組元素:

數組索引(下標)以 0 開始。[0] 是第一個數組元素,[1] 是第二個,[2] 是第三個 ...

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[0] = "Kiwi"; // 把 fruits 的第一個元素改為 "Kiwi"
/<code>

親自試一試

length 屬性提供了向數組追加新元素的簡易方法:

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[fruits.length] = "Kiwi"; // 向 fruits 追加 "Kiwi"
/<code>

親自試一試

刪除元素

既然 JavaScript 數組屬於對象,其中的元素就可以使用 JavaScript delete 運算符來刪除

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
delete fruits[0]; // 把 fruits 中的首個元素改為 undefined
/<code>

親自試一試

使用 delete 會在數組留下未定義的空洞。請使用 pop() 或 shift() 取而代之。

拼接數組

splice() 方法可用於向數組添加新項:

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 0, "Lemon", "Kiwi");
/<code>

親自試一試

第一個參數(2)定義了應添加新元素的位置(拼接)。

第二個參數(0)定義應刪除多少元素。

其餘參數(“Lemon”,“Kiwi”)定義要添加的新元素。

splice() 方法返回一個包含已刪除項的數組:

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 2, "Lemon", "Kiwi");
/<code>

親自試一試

使用 splice() 來刪除元素

通過聰明的參數設定,您能夠使用 splice() 在數組中不留“空洞”的情況下移除元素:

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(0, 1); // 刪除 fruits 中的第一個元素
/<code>

親自試一試

第一個參數(0)定義新元素應該被添加(接入)的位置。

第二個參數(1)定義應該刪除多個元素。

其餘參數被省略。沒有新元素將被添加。

合併(連接)數組

concat() 方法通過合併(連接)現有數組來創建一個新數組:

實例(合併兩個數組)

<code>var myGirls = ["Cecilie", "Lone"];
var myBoys = ["Emil", "Tobias", "Linus"];
var myChildren = myGirls.concat(myBoys); // 連接 myGirls 和 myBoys
/<code>

親自試一試

concat() 方法不會更改現有數組。它總是返回一個新數組。

concat() 方法可以使用任意數量的數組參數:

實例(合併三個數組)

<code>var arr1 = ["Cecilie", "Lone"];
var arr2 = ["Emil", "Tobias", "Linus"];
var arr3 = ["Robin", "Morgan"];
var myChildren = arr1.concat(arr2, arr3); // 將arr1、arr2 與 arr3 連接在一起
/<code>

親自試一試

concat() 方法也可以將值作為參數:

實例(將數組與值合併)

<code>var arr1 = ["Cecilie", "Lone"];
var myChildren = arr1.concat(["Emil", "Tobias", "Linus"]);
/<code>

親自試一試

裁剪數組

slice() 方法用數組的某個片段切出新數組。

本例從數組元素 1 ("Orange")開始切出一段數組:

實例

<code>var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1);
/<code>

親自試一試

slice() 方法創建新數組。它不會從源數組中刪除任何元素。

本例從數組元素 3 ("Apple")開始切出一段數組:

實例

<code>var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(3);
/<code>

親自試一試

slice() 可接受兩個參數,比如 (1, 3)。

該方法會從開始參數選取元素,直到結束參數(不包括)為止。

實例

<code>var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1, 3);
/<code>

親自試一試

如果結束參數被省略,比如第一個例子,則 slice() 會切出數組的剩餘部分。

實例

<code>var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(2);
/<code>

親自試一試

自動 toString()

如果需要原始值,則 JavaScript 會自動把數組轉換為字符串。下面兩個例子將產生相同的結果:

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.toString();
/<code>

親自試一試

實例

<code>var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits;
/<code>

親自試一試

所有 JavaScript 對象都擁有 toString() 方法。


分享到:


相關文章: