JavaScript 數組方法
- JS 數組
- JS 數組排序
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() 方法。
閱讀更多 鎮上寶塔 的文章
關鍵字: JavaScript 彈出 蘋果公司