細說 Javascript 數組篇(二) : 數組的構造函數和常見操做

數組的構造函數

因爲數組的構造函數在處理參數時的不肯定性,所以強烈建議使用 [] 符號來建立一個新數組。git

[1, 2, 3]; // Result: [1, 2, 3]
new Array(1, 2, 3); // Result: [1, 2, 3]

[3]; // Result: [3]
new Array(3); // Result: []
new Array('3') // Result: ['3']

當只有一個參數被傳遞到數組的構造函數中,而且這個參數仍是一個數字時,構造函數將會返回一個元素值爲 undefined 的數組,並且這個數組的 length 屬性被設置爲傳入構造函數的數字參數。但實際上上新數組的索引並無被初始化。github

請輸入圖片描述

這種用法只有在不多數狀況下會被使用,好比循環字符串時,這種用法能夠避免使用一個循環。segmentfault

new Array(count + 1).join(stringToRepeat);

總結

綜上所述,咱們應該儘可能使用 [] 來建立新函數,而不是數組的構造函數,這樣代碼將有更好的可讀性。數組


數據常見操做

由於這篇博文的原文比較短,因此我打算把一些經常使用的數組操做方法也總結一下:ide

添加元素

1.push - 將一個或多個新元素添加到數組結尾,並返回數組新長度。函數

請輸入圖片描述

2.unshift - 將一個或多個新元素添加到數組開始,數組中的元素自動後移,返回數組新長度。spa

請輸入圖片描述

3.splice - 將一個或多個新元素插入到數組的指定位置,插入位置的元素自動後移,返回 []code

請輸入圖片描述

刪除元素

1.pop - 移除最後一個元素並返回該元素值。排序

請輸入圖片描述

2.shift - 移除最前一個元素並返回該元素值,數組中元素自動前移。索引

請輸入圖片描述

3.splice - 刪除從指定位置 deletePos 開始的指定數量 deleteCount 的元素,數組形式返回所移除的元素。(注意與添加元素時參數的差別)

請輸入圖片描述

其餘操做

1.join - 返回字符串,這個字符串將數組的每個元素值鏈接在一塊兒,中間用 separator 參數隔開。

請輸入圖片描述

2.slice - 方法用於返回數組中一個片斷或子數組,若是隻寫一個參數返回參數到數組結束部分,若是參數出現負數,則從數組尾部計數,若是 start 大於 end 返回空數組,slice 不會改變原數組,而是返回一個新的數組。

請輸入圖片描述

3.concat - 將多個數組(也能夠是字符串,或者是數組和字符串的混合)鏈接爲一個數組,返回鏈接好的新的數組。

請輸入圖片描述

4.reverse - 反轉元素(最前的排到最後、最後的排到最前),返回修改後的數組。

請輸入圖片描述

5.sort - 對數組元素排序,返回修改後的數組。當沒有參數的時候會按字母表升序排序,也能夠能夠傳一個排序方法進去。

請輸入圖片描述

參考:

http://bonsaiden.github.io/JavaScript-Garden/#array.constructor

相關文章
相關標籤/搜索