Javascript 中的數組

1、用  array.length  也能夠移除數組後面的項:數組

     var colors = ['red', 'blue', 'green'];函數

     colors.length = 2;spa

     console.log(colors[2]);  //undefined對象

 

 

2、若是將其length屬性設置大於數組項數的值,則新增的每一項都會取得 undefined 值:排序

     var colors = ['red', 'blue', 'green'];索引

     colors.length = 4;隊列

     console.log(colors[3]);  //undefinedci

 

3肯定某個值是否是數組:it

     if(Array.isArray(value)){io

      //對數組執行操做

      }

 

 

4、instanceof 運算符返回一個boolean值,表示指定對象是否爲某個構造函數的實例。

 

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

      var colors = ['red', 'blue', 'green'];

      var count = colors.push('pink');

      console.log(count);  //4

 

6、棧方法pop() 返回數組中最後一項。

     var colors = ['red', 'blue', 'green'];

     var item= colors.pop();

     console.log(item);  // 'green'

     console.log(colors .length);  //2

 

7隊列方法 shift() 移除數組中第一項,並返回該項,同時將數組長度減 1

 

8、隊列方法 unshift() 在數組前添加任意個項並返回數組新長度。

 

9、重排序方法

     reverse(); 將數組反轉,返回值是通過排序後的數組

     sort(); 接受一個比較函數做爲參數,返回值是通過排序後的數組

     ====升序排列

     var values = [0,1,5,10,15];

     function compare(value1, value2){

         if(value1 < value2) {

              return -1;

        } else if(value1 > value2) {

            return 1;

        } else {

            return 0;

        }   

     }

     values.sort(compare);

     alert(values);  // 0,1,5,10,15

 

     =====降序排列

    function compare(value1, value2){

         if(value1 < value2) {

              return 1;

        } else if(value1 > value2) {

            return -1;

        } else {

            return 0;

        }   

     }

     values.sort(compare);

     alert(values);  // 1510510

 

10操做方法 concat()  這個方法將建立當前數組的一個副本,而後後將接收到的參數添加到這個副本的末尾,最後返回新構建的數組;

      var colors = ['red','green'];

      var colors1 = colors.concat();

      var colors2 = colors.concat('blue',['pink','black']);

      console.log(colors);  // ['red','green']

      alert(colors1);  // red,green

      console.log(colors2); // ['red','green','blue','pink','black']

 

 

 

11、操做方法 slice() 方法,基於當前數組中的一或多個項建立一個新數組。slice() 方法能夠接受一個或兩個參數。該方法不影響原數組。

Var colors = ['red','green','blue','pink','black'];

Colors.slice(1) ; // ['green','blue','pink','black'];

Colors.slice(1,4); // ['green','blue','pink'];

參數

結果

一個

返回從該參數指定位置開始到當前數組末尾的全部項

兩個

返回起始和結束之間的項(但不包括結束位置的項)

有負數

用數組的長度加上該數來肯定相應的位置,如 slice(-2,-1) =>slice(3,4)

結束位置小於起始位置

返回空數組

     

12、操做方法 splice 主要用途是向數組的中部插入項。該方法始終都會返回一個數組,該數組中包含從原始數組中刪除的項(若是沒有刪除的項,則返回空數組),而且改變原數組

       splice(起始位置,要刪除的項,替換的項,替換的項,。。。)

    

 

 

13 位置方法 ,indexOf() 和 lastIndexOf() ,都接受兩個參數:要查找的項和(可選的)表示查找起點位置的索引。都返回要查找的項在數組中的位置,或者沒找到的狀況下返回 -1

        indexOf() 從數組的開頭向後查找

        lastIndexOf() 從數組的末尾向前查找

在比較第一個參數與數組中的每一項時,會使用全等操做符;也就是說,要求查的項必須嚴格相等(就像使用 === 同樣)。

       var person = {name: 'Mary'};

       var people = [{name: 'Mary'}];

       var morePeople = [person];

       

       alert(people.indexOf(person));  //-1

       alert(morePeople.indexOf(person));  //0  

 

14迭代方法:

          every() 傳入函數,數組中的而每一項返回true則返回true

        some()傳入函數, 數組中有一項項返回true則返回true

        map() 傳入函數,返回每一項執行後的結果組成的數組

        filter() 傳入函數,返回 執行爲true 的項組成的數組

        forEach() 傳入函數,每一項執行函數操做,沒有返回值

相關文章
相關標籤/搜索