Array 對象方法整理

Array 對象方法

數組建立與修改

1. 建立
  • var arr = [];數組

  • var arr = new Array()函數

  • Array.of(el1[,el2[...]]) //建立一個新數組實例prototype

  • Array.from(arrayLike) //將類數組(相似數組的對象和可遍歷的對象)轉爲真正的數組。code

    // ES5的寫法
    var arr1 = [].slice.call(arrayLike);
    // ES6的寫法
    let arr2 = Array.from(arrayLike);
2. 合併
  • Array.prototype.concat(arr1[,arr2..]) //合併兩個或多個數組。不更改現有數組,而是返回一個新數組。對象

3. 轉化爲字符串
  • Array.prototype.join(separator) //以separator(默認爲逗號)拼接爲字符串。排序

  • Array.prototype.toString() //把數組轉換爲字符串,數組中的元素之間用逗號分隔。遞歸

4. 填充
  • Array.prototype.fill(value[, start, end]) //用一個固定值填充[start,end)的元素。索引

判斷數組

  • Array.isArray() //判斷傳遞的值是不是一個 Array。ip

篩選排序遞歸

1. 篩選
  • Array.prototype.filter()文檔

  • Array.prototype.map()

2. 排序
  • Array.prototype.reverse() //將數組中元素的位置顛倒。

  • Array.prototype.sort()

3. 遞歸
  • Array.prototype.reduce()

語法:arr.reduce(callback,[initialValue])

  • callback(accumulator,currentValue,currentIndex,array)

    • accumulator 上一次調用回調返回的值

    • currentValue 數組中正在處理的元素

    • currentIndex 數據中正在處理的元素索引

    • array 調用 reduce 的數組

  • initialValue [可選],用於第一次調用 callback 的第一個參數。

增刪改查

1. 查找
  • Array.prototype.some(callback) //執行一次 callback 函數,直到找到一個使得 callback 返回true。

  • Array.prototype.every(callback) //數組的全部元素是否都經過callback 函數。

  • Array.prototype.find(callback) //在數組中返回符合callback第一個元素的值。

  • Array.prototype.findIndex(callback)//返回數組中知足callback的第一個元素的索引。不然返回-1。

  • Array.prototype.includes(searchElement) //是否包含一個指定的值

2. 增、刪
  • Array.prototype.pop() //刪除數組最後一個元素,並返回該元素的值。

  • Array.prototype.push() //增長元素到數組末尾。

  • Array.prototype.shift() //刪除數組第一個元素。

  • Array.prototype.unshift() //增長元素到數組開頭。

  • Array.prototype.slice(start,end) //返回[start,end)**淺拷貝**到一個新數組對象,**原數組不會被修改**。

  • Array.prototype.splice() //經過刪除現有元素和/或添加新元素來更改一個數組的內容,**會直接對數組進行修改**。

    • array.splice(start)

    • array.splice(start, deleteCount)

    • array.splice(start, deleteCount, item1, item2, ...)

start : 若是超出了數組的長度,則從數組末尾開始添加內容;若是是負值,則表示從數組末位開始的第幾位(從1計數)。
deleteCount : 若是 deleteCount 是 0,則不移除元素,這種狀況下,至少應添加一個新元素;若是 deleteCount 大於start 以後的元素的總數,則從 start 後面的元素都將被刪除(含第 start 位);若是deleteCount被省略,則其至關於(arr.length - start)。
item1, item2, ... :要添加進數組的元素

循環遍歷

  • Array.prototype.map(callback)

  • Array.prototype.forEach(callback)

  • Array.prototype.entries() //返回一個新的Array Iterator對象,該對象包含數組中每一個索引的鍵/值對。

  • Array.prototype.keys() //返回一個新的Array迭代器,它包含數組中每一個索引的鍵。

  • Array.prototype.values() //返回一個新的 Array Iterator 對象,該對象包含數組每一個索引的值。

    for (let index of ['a', 'b'].keys()) {    //遍歷鍵
    console.log(index);
    }
    // 0
    // 1
    
    for (let elem of ['a', 'b'].values()) {   //遍歷值
    console.log(elem);
    }
    // 'a'
    // 'b'
    
    for (let [index, elem] of ['a', 'b'].entries()) {   //遍歷鍵/值對
    console.log(index, elem);
    }
    // 0 "a"
    // 1 "b"

參考文檔

相關文章
相關標籤/搜索