JavaScript關於陣列的一些方法整理

路過人間發表於2019-02-20

會改變自身的方法

  1. array.copyWithin(target, start [, end = this.length])用於在陣列內的替換操作(有相容問題)start和end允許為負值。
  2. array.fill(value [,statrt = 0[, end = this.length]])將陣列中指定區間的所有元素的值替換為value,start和end允許為負值。
  3. array.pop()刪除一個陣列中的最後一個元素,並返回這個元素。
  4. array.shift()刪除陣列第一個元素,並返回這個元素。
  5. array.push()新增一個或者多個元素到陣列末尾,並返回陣列新的長度。
  6. array.unshift()在陣列開頭插入一個或者多個元素,並返回陣列新長度。
  7. array.reverse()前後顛倒陣列中元素的位置,第一個元素會成為最後一個。
  8. array.sort([function(a, b)])對陣列的元素做原地排序,並返回這個陣列。
  9. array.splice(start, deleteCount[, item1[, item2...])在任意的位置給陣列新增或者刪除任意個元素,返回被刪除元素組成的陣列,沒有則返回空陣列。

不會改變自身的方法

  1. array.concat(value1, value2.....)將傳入的陣列或者非陣列值與原陣列合並,組成一個新的陣列並返回。
  2. array.includes(searchElement, [, fromIndex])用來判斷當前陣列是否包含某指定的值,返回布林值。
  3. array.join([separator = `,`])將陣列中的所有元素連線成一個字串(預設用逗號作為分隔符,如果separator是一個空的字串,那麼陣列中的所有元素將被直接連線),如果元素是undefined或者null,則會轉換為空字串。
  4. array.slice([begin = 0 [, end = this.length - 1]])把陣列中一部分的淺複製(shallow copy)存入一個新的陣列物件中,並返回這個新的陣列。
  5. array.toString()返回一個字串,該字串由陣列中的每個元素的toString()返回值經呼叫join()方法連線,(由逗號隔開)組成。
  6. array.toLocaleString()返回一個字串表示陣列中的元素。陣列中的元素將使用各自的toLocaleString方法轉換成字串,這些字串將使用一個特定的語言環境的字串(例如逗號)隔開。
  7. array.indexOf(searchElement[, fromIndex = 0])返回指定元素能在陣列中找到的第一個索引值,否則返回-1。
  8. array.lastIndexOf(searchElement[, fromIndex = arr.length - 1]) 返回指定元素在陣列中的最後一個索引,如果不存在則返回-1。從陣列的後面向前排查。

陣列遍歷的方法

  1. array.forEach((v, i, a) => {})讓陣列的每一行都執行一次給定的函式,(v表示當前值,i當前索引,a陣列本身)。

  2. array.entries()返回一個Array Iterator物件,該物件包含陣列中每一個索引的鍵值對。

  3. array.every(callback(v, i, a){})callback只會為那些已經被賦值的索引呼叫,不會為那些刪除或者從來沒有被賦值的索引呼叫(返回一個Boolean值,即對每個元素callback函式結果作邏輯&操作)。

  4. array.some() 使用方法和arr.evety()方法相同。(對每個元素的callback函式結果作邏輯||操作)。

  5. array.filter((v, i, a) => {})使用指定函式測試所有元素,並建立一個包含所有測試通過元素的新陣列。(callback函式返回一個布林值,true通過測試,callback只會在已經賦值的索引上呼叫,對於那些已經被刪除或者從未被賦值的索引不會呼叫)。

  6. array.find((v, i, a) =>{})目前有相容性問題。返回陣列中滿足測試條件的第一個元素,如果沒有滿足條件的元素,則返回undefined。

  7. array.keys()返回一個陣列索引的迭代器(類似於arr.entries()方法)。

  8. array.map((v, i, a) => {})返回一個由原陣列中的每一個元素呼叫一個指定方法後的新返回值組成的新陣列,map不修改呼叫它本身的原陣列(當然可以在callback執行時改變原陣列)。

  9. array.reduce(callback[, initialValue])該方法接收一個函式作為累加器(accumulator),陣列中的每個值(從左到右)開始合併,最終為一個值。

         previousValue:上一次呼叫回撥返回的值,或者是提供的初始值(initialValue)
         currentValue: 陣列中當前被處理的元素
         index: index
         array: 呼叫的陣列
         如果 initialValue 在呼叫 reduce 時被提供,那麼第一個 previousValue 等於 initialValue ,並且currentValue 等於陣列中的第一個值;如果initialValue 未被提供,那麼previousValue 等於陣列中的第一個值,currentValue等於陣列中的第二個值。
    複製程式碼
  10. array.reduceRight()使用同array.reduce()相同,執行方向相反。

相關文章