學習js權威指南第五站 ---- 數組
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權威指南第五站 ---- 數組