javascript陣列方法總結

weixin_34302561發表於2018-08-22

javascript陣列方法

  1. 給陣列增加元素

    (1)

      array.push(element1,...,elementN)

    用途:push方法在原來的陣列末尾新增一個或者多個元素;
    返回值是:新陣列的長度;

    (2)

      array.unshift(element1,...,elementN)

    用途: unshift方法在原來陣列的開頭新增元素
    返回值是: 新陣列的長度

  2. 刪除陣列的某些元素
    (1)

     array.pop()

    用途是: 從尾部刪除陣列的最後一個元素
    返回值是: 陣列被刪除掉的元素
    (2)

     array.shift()

    用途是: 從頭部刪除陣列的第一個元素
    返回值是: 陣列被刪除掉的元素

    (3)splice方法:通過指定下標刪除陣列中的元素和新增新元素來更改陣列的內容

    arr.splice(start,deleteCount,item1...)

    用法
    start指定修改的開始位置
    deleteCount(可選)指定要移除的陣列元素的個數,如果是0,則不移除元素,如果不填則表示把start即之後的所有元素都刪除
    item1...表示從start位置開始新增元素
    返回值:由被刪除的元素組成的陣列,如果沒有刪除則返回空陣列
    注意:該方法會直接修改原陣列

  3. 判斷是否為陣列

    Array.isArray(obj)

    如果obj是陣列,返回true;否則返回false

  4. 合併陣列

    
    var newArray = oldArray.concat(arr1,arr2,...)
    

    注意:不會修改原來的陣列

  5. 真值檢測方法:
    (1) every方法

       arr.every(callback)

    用途:判斷陣列中的每個元素是否符合條件,如果符合條件則返回true,如果陣列中有一個元素不符合條件則返回false;
    callback: callback傳入三個引數,分別是:元素值,元素的索引,原陣列
    該方法不會改變原陣列

    (2)includes方法

    arr.includes(searchElement, fromIndex)

    解釋 searchElement為必填項,是要查詢的元素值,fromIndex是選填項,是指從該索引來進行查詢。
    返回值 如果查詢到該元素則返回true,否則返回false
    (3)some方法

    arr.some(callback)

    用法:該方法為陣列中的項執行callback,直到找到一個滿足條件的即返回 true,否則返回false
    some 被呼叫時不會改變陣列

  6. fill方法,修改陣列

    arr.fill(value,start,end)

    用途:fill方法通過傳入三個引數,value是修改的值,start和end是陣列的下標
    返回結果:返回修改後的陣列
    這個方法會修改原陣列

  7. filter方法:篩選原陣列中的合適的元素並返回新的陣列

    var new_ARR = arr.filter(callback(element,index,array))

    用途:通過callback函式來得到符合條件的陣列並返回
    該方法不會修改原來的陣列

  8. forEach方法:對陣列中的每一項元素執行回撥函式

    array.forEach(callback(currentValue,index,array))

    用途:forEach方法對陣列中的每一項進行遍歷操作
    返回值 undefined

  9. 查詢陣列索引
    (1) indexOf():返回陣列中找到指定元素的索引,如果不存在返回-1

    arr.indexOf(searchElement,fromIndex)
       **說明**: fromIndex如果不傳,預設值是0;indexOf方法是從陣列的前面往後進行查詢的

    (2) lastIndexOf(): 從陣列的後面向前查詢,如果找到則返回陣列的下標,否則返回-1;

    arr.lastIndexOf(searchElement,fromIndex)
  10. 陣列轉化為字串的方法
    (1) join: 將一個陣列的所有元素連線成一個字串並返回

    str = arr.join()//預設為,
    str = arr.join("")//分隔符為""
    str = arr.join(separator)//分隔符
       **描述**: 將所有的陣列元素轉化為字串,再用一個分隔符把這些字串連線起來,如果元素是undefined或者null,則轉化成空字串。
       **注意**: join 方法不會改變原來的陣列
    
    
  11. slice方法:返回一個從開始到結束(不包括結束)選擇的陣列的一部分淺拷貝到一個新陣列物件。且原始陣列不會被修改
  12. 高階方法:
    (1) map

       var newArr = arr.map(callback(currentValue,index,array))

    用法: 對陣列中的每一個元素呼叫callback,然後返回一個新的陣列
    (2) reduce:對累加器和陣列中的每一個元素從左到右應用一個函式,將其減少為單個值

    arr.reduce(callback,initalValue)

    用法:callback函式中有四個引數,
    accumulator是累加上一次呼叫回撥時返回的累加值
    currentValue:陣列中正在處理的元素
    currentIndex:陣列中正在處理的當前元素的索引(可選)
    array: 呼叫reduce的陣列
    initalValue:用作第一個呼叫 callback的第一個引數的值。 如果沒有提供初始值,則將使用陣列中的第一個元素
    返回值:函式累計處理的結果
    注意:該函式不會改變原來的陣列
    (3)reduceRight: 從右向左進行累加,其他和reduce一樣
    (4)sort: 對陣列的元素進行排序

    arr.sort(compareFun)

    用法:通過compareFun來指定陣列按照某種順序進行排序,如果沒有傳遞該函式,則陣列中的每個元素轉化為字串,並按照字元的Unicode來排序。
    返回值:排序後的陣列
    注意:原陣列已經修改

相關文章