1. 程式人生 > >學習js權威指南第五站 ---- 數組

學習js權威指南第五站 ---- 數組

參數調用 轉換成 長度 刪除 scrip .so obj -- ....

1.數組方法

  ①join()

    將數組中的左右元素都轉換成字符串並連接在一起,返回最後生成的字符串。

  ②reverse() 改變原數組

    將數組中的元素顛倒順序,返回逆序的數組。在原先的數組中重新排列。

  ③sort() 改變原數組

    將數組中的元素排序並返回排序後的數組,當不帶參數調用時,數組元素以字母表順序排序。可以用以下代碼將排序按照數值排序:

    var arr6_5 = [33,2,4,111];
    console.log(arr6_5.sort(function(a,b){return a-b}))  //輸出: [2,4,33,111]

  ④concat() 不改變原數組

    創建並返回一個新數組,它的元素包括調用concat()的原始數組的元素和concat()的每一個參數。

  ⑤slice() 不改變原數組

    返回指定數組的一個片段或子數組。兩個參數分別指定了片段的開始和結束的位置。(包含開始位置但不包含結束位置)。若只有一個參數則從該位置到末尾。負數代表從末尾處開始數。

  ⑥splice() 改變原數組

    在數組中插入或刪除元素的通用方法。前兩個參數指定了需要刪除的數組,緊隨其後的任意個數的參數指定了需要插入到數組中的元素。

  arr6_5_2 = [2, 4, 33, 111, 99, 66];
   arr6_5_2.splice(2,0,"a","b","c");  //從下標為2的開始刪除0位並插入"a","b","c"
  console.log(arr6_5_2);  //=>[2, 4, "a", "b", "c", 33, 111, 99, 66]

  ⑦push()和pop() 改變原數組

    push()方法在數組的尾部添加一個或多個元素,並返回數組的新長度。pop()在數組的尾部刪除元素。

  ⑧unshift()和shift() 改變原數組

    unshift()方法在數組的頭部添加一個或多個元素,並返回數組的新長度。shift()在數組的頭部刪除元素。

  ⑨toString()和toLocalString()

2.ES5中的數組方法

  ①forEach()

    循環遍歷數組,可以配合es6的箭頭函數使用。沒有break語句,若想要提前終止,必須把forEach()方法放在一個try塊中,並能拋出一個異常。

  ②map()

    將調用的數組的每一個元素傳遞給指定的函數,並返回一個數組,它包含該函數的返回值。

  arr6_5_2 = [2, 4, 33, 111, 99, 66];
  var arr6_5_3 = arr6_5_2.map(function(x) {return 2*x});  //將數組內每個值*2
  console.log(arr6_5_3);  //=>[4, 8, 66, 222, 198, 132]

  ③filter()

    返回調用的數組的一個子集。參數為函數,相當於一個過濾條件。

  ④every()和some()

    是數組的邏輯判定:它們對數組元素應用指定的函數進行判定,返回true或false。

  ⑤reduce()和reduceRight()

    使用指定的函數將數組元素進行組合,生成一個單個值。

  ⑥indexOf()和lastIndexOf()

    搜索整個數組中具有給定值的元素,返回找到的第一個元素的索引或者如果沒有找到就返回-1。

3.isArray

  在es5中可以使用array.isArray()函數來判定它是否為數組。使用了Object.prototype.toString.call()方法。

4.類數組對象

  是對象,有length屬性並且是非負整數不超過2^32。可以間接的使用call方法調用數組方法。

  Array.prototype.join.call(arr,‘+‘);......

學習js權威指南第五站 ---- 數組