Array()方法彙總

1. length屬性 && 檢測數組

  • length屬性不是隻讀,能夠設置該屬性,從數組的末尾移除項或添加新項
  • 檢測數組:
    1. 一個全局做用域下(一個網頁),使用instanceof
    2. 兩個以上不一樣的全局執行環境(網頁包含多個框架),使用Array.isArray()

2. 轉換方法

  • toString()
  • 返回由數組中每一個值的字符串形式拼接而成的以逗號(,)分隔的字符串,實際上會調用每一項的toString()
  • toLocaleString() 返回值常常與toString()相同, 但調用的是每一項的toLocaleString()
  • valueOf() 返回數組自己

3. 棧方法 LIFO(last in first out)

  • push() 數組末尾添加任意個項,返回數組新的長度,
  • pop() 刪除數組末的最後一個元素,並返回移除的項

4. 隊列方法 FIFO

  • shift() 刪除並返回數組第一項
  • unShift() 在數組的開頭添加任意個項,並返回數組新的長度

5. 重排序方法

  • reverse() 反轉數組項的順序,該方法會改變原來的數組,而不會建立新的數組。
  • sort()
    1. 默認狀況下,sort()方法按升序排列數組,經過調用每一項的toSring()再比較,所以比較的是字符串
    2. 接受一個比較函數做爲參數時,比較函數接受兩個參數,來指定哪一個值位於哪一個值得前面,
      function sortNumber(a,b) {
            return a - b
       }   //升序
      複製代碼

6. 操做方法

  • concat() 能夠拼接任意數組,返回新數組,不改變自身javascript

    <script type="text/javascript">
    
    var a = [1,2,3];
    document.write(a.concat(4,5));
    
    </script>
    複製代碼
  • slice() 接受兩個參數,表明截取得起止位置,不包含結束位置,一個參數時默認截取到最後,參數爲負數時,加上數組自己長度,注意 不影響原數組,若是起始位置小於結束位置,則返回空數組前端

  • splice()java

    1. 刪除: 兩個參數 刪除的第一項的位置 和 刪除的項數
    2. 插入: 三個參數 起始位置、 0(刪除的項數)和插入的項,若插入多項,則在後面加上插入的項
    3. 替換: 三個參數 起始位置、 刪除的項數、替換的項(任意數量) 返回從數組中刪除的項,沒有刪除時返回空數組,改變原數組

7. 位置方法

  • indexOf()web

  • lastIndexOf() 都接受兩個參數 查找的項和查找起點位置的索引(可選),返回查找項在數組中的位置,沒找到時返回1小程序

    let arr = ['orange', '2016', '2016'];
         arr.indexOf('orange'); //0
         arr.indexOf('o'); //-1 由於此方法不會在每個元素的基礎上再次執行 indexOf 匹配。
         arr.indexOf('2016'); //1
         arr.indexOf(2016); //-1 注意:這裏不會作隱式類型轉換。
    複製代碼

8. 迭代方法

每一個方法都接受兩個參數,第一個爲在每一項運行的函數,第二個爲運行該函數的做用域對象(可選) 函數接受三個參數:item,index, array自己,都不會改變原數組微信小程序

  • every() 傳入函數的每一項都知足函數,返回true
  • some() 某一項知足函數的條件,返回true
  • forEach() 與for循環用法一致,無返回值
  • filter() 返回一個新的數組,用指定的函數肯定是否在返回的數組中包含某一項
  • map() 返回一個新的數組,該數組的值對應原數組的每一項運行指定函數的返回值

9. 歸併方法

  • reduce()
  • reduceRighht() 兩個方法都會迭代數組的全部項,構建一個最終的返回值 接受兩個參數: 每一項調用的函數 和 歸併基礎的初始值 函數接受四個參數: 前一個值 當前值 索引 和數組對象,該函數的返回值都會做爲第一個參數傳給下一項,第一次迭代發生在數組的第二項上,所以第一個參數是數組的第一項,第二個參數是數組的第二項

10. ES6新增方法

  • find() 返回經過測試(函數內判斷)的數組的第一個元素的值。 find() 方法爲數組中的每一個元素都調用一次函數執行: 若是沒有符合條件的元素返回 undefined find() 對於空數組,函數是不會執行的。 不改變原數組數組

  • findIndex() 和find()差很少,默認返回的是索引。bash

  • includes() 與String的includes()同樣,接收2參數,查詢的項以及查詢起始位置,返回true或false微信

  • keys() 對數組索引的遍歷框架

  • values() 對數組項的遍歷

  • entries() 對數組鍵值對的遍歷

    let arr=['w','b'];
    for(let a of arr.entries()){
        console.log(a)
    }//結果:[0,w],[1,b]
    for(let [i,v] of arr.entries()){
        console.log(i,v)
    }//結果:0 w,1 b
    複製代碼
  • fill() 數組填充

    let arr=['w','b'];
     arr.fill('i')//結果:['i','i'],改變原數組
     arr.fill('o',1)//結果:['i','o']改變原數組,第二個參數表示填充起始位置
    複製代碼

new Array(3).fill('k').fill('r',1,2)//結果:['k','r','k'],第三個數組表示填充的結束位置,前開後閉區間

- Array.from() 
  把帶有lenght屬性相似數組的對象轉換爲數組,也能夠把字符串等能夠遍歷的對象轉換爲數組,它接收2個參數,轉換對象與回調函數
 
 ```
 Array.from({'0':'w','1':'b',length:2})//["w", "b"],返回數組的長度取決於對象中的length,故此項必須有!
 Array.from({'0':'w','1':'b',length:4})//["w", "b", undefined, undefined]
 Array.from({'0':'w','1':'b',length:1})//["w"]
 let divs=document.getElementsByTagName('div');
 Array.from(divs)//返回div元素數組
 Array.from('wbiokr')//["w", "b", "i", "o", "k", "r"]
 Array.from([1,2,3],function(x){
         return x+1
     })//[2, 3, 4],第二個參數爲回調函數
 ```

【完】


**做者簡介**:鄭佳歡,蘆葦科技web前端實習生,公司做品:口紅挑戰網紅小遊戲、服務端渲染官網。擅長網站建設、公衆號開發、微信小程序開發、小遊戲、公衆號開發,專一於前端領域框架、交互設計、圖像繪製、數據分析等研究。 一塊兒並肩做戰: [zhengjiahuan@talkmoney.cn](mailto:yemao@talkmoney.cn) 訪問 [www.talkmoney.cn](http://www.talkmoney.cn/) 瞭解更多複製代碼
相關文章
相關標籤/搜索