深刻挖掘js之數組

1、數組字面量

  • 數組字面量提供了一種很是方便的建立數組的表達法。
  • 一個數組字面量是在一對方括號中包圍零個或多個用逗號分隔的值的表達式。

對象字面量數組:javascript

var numbers_object = {
'0' : 'zero',
'1' : 'one',
'2' : 'two'
};
  • javascript運行數組包括任意混合類型的數組。

2、長度

  • 每一個數組都有一個length的屬性,JavaScript數組的length沒有上界。若是你用大於等於當前length的數字做爲下標來存儲一個元素,那麼length值會增大以容納新元素,不會發生數組越界錯誤。
  • length屬性的值是這些數組的最大整數屬性名加上1。它等於數組裏的屬性的個數。
numbers.push('go');

可使用push向數組中增長元素,也能夠用.join['']方式加入到數組中。java

3、刪除

  • JavaScript數組就是對象,delete運算符能夠用來從數組中移除元素:
delete numbers[2];

這樣操做的話會使數組留下一個空洞,被刪除的元素依舊保留着它在數組的位置,排在被刪除後面的元素依舊保留着他們最初的屬性。這樣是不行的,咱們就要去尋找一個新的方法去解決這個問題,splice方法數組

numbers.splice(2,1);
  • 第一個參數是數組的序號,第二個參數是刪除元素的個數。

4、枚舉

  • 一、fon in 遍歷每一個數組的全部屬性,沒法保證數組的排序,可能從原型鏈上獲得之外的屬性。
  • 二、for 來避免這些問題
var i;
for(i=0;i<myArray.length;i+=1){
console.log(myArray[i];
};

5、方法

JavaScript提供了一套數組的方法,被存儲在Array.prototype中的函數函數

Array.method('reduce',function(f,value){
    var i;
    for(i=0;i<this.length;i+=1){
        value = f((this[i]),value);
    }
    return value;
});
//經過各Array.prototype擴充一個方法,每一個數組鬥繼承這個方法。
var data = [4,5,5,9];
var add = function(a,b){
    return a+d;
};
var mult = function(a,b){
    return a*b;
};
var sum = data.reduce(add,0);
console.log(sum);
var product = data.reduce(mult,1);
console.log(product);

6、指定初始值

  • JavaScript數組一般不會預置頂。
  • JavaScript提供一個相似Array.dim這樣的方法
Array.dim = function(dimension,initial){ var a =[], i; for (i=0;i<dimension;i+=1){ a[i] = initial; } return a; }; var MyArray = Array.dim(10,0);
相關文章
相關標籤/搜索