js數組操做大全

棧方法

棧是一種LIFO(Last-In-First-Out,後進先出)的數據結構。前端

  • push: 接受任意數量的參數,逐個添加至數組的末尾,返回修改後數組的長度
  • pop: 從數組末尾一處最後一項,減小數組length,返回被移除的項
如:
var arr = [];
arr.push('a', 'b');   //2
arr.pop();   //b

隊列方法

隊列是一種FIFO(First-In-First-Out)的數據結構數組

  • shift: 移除數組的第一項,,length減1,返回被移除項
  • unshift: 添加任意項至數組的前端,並返回數組長度
如:
var arr = ['a', 'b'];
arr.shift();   //a
arr.unshift('c', 'd');   //3

重排序方法

  • reverse: 反轉原數組的順序
  • sort: 按升序排序數組項。此方法會先調用每一個數組項的toString(),而後比較獲得的字符串來肯定排序。
如:
var arr = [1,4,12,3];
arr.reverse(); //[3,12,4,1]
arr.sort();    //[1,12,3,4]

sort能夠接受一個比較函數做爲參數。比較函數接收兩個參數,若是第一個參數應該位於第二個以前,返回負值,若是相等返回0,不然返回正數數據結構

如:
var compare = function (v1, v2) {
    if(v1 < v2){
        return -1;
    }else if (v1 === v2) {
        return 0;
    } else{
        return 1;
    }
};

arr.sort(compare);   //[1,3,4,12]

操做方法

  • concat: 該方法溴銨建立當前數組的一個副本,而後將參數添加至副本的末尾,返回新建立的副本數組
  • slice: 該方法基於數組中的一個或多個項建立新的數組。接受兩個參數,及返回項的起始位置和結束位置
  • splice:
    刪除: 提供2個參數:起始位置,要刪除的項數。
    添加: 提供3個參數:起始位置,0(要刪除的項),要插入的項
    替換: 提供3個參數: 起始位置,要刪除的項數,要插入的任意數量的項

注意,concat、slice不會改變原數組的值,都返回一個新的數組。splice改變了原來的數組,都返回一個數組,若是是刪除,則返回被刪除的項,若是沒有刪除任何項,則返回空數組函數

位置方法

  • indexOf:
  • lastIndexOf:

迭代方法

  • every:
  • filter:
  • foreach:
  • map:
  • some:

歸併方法

  • reduce:
  • reduceRigth:
相關文章
相關標籤/搜索