總結js數組和字符串經常使用的api

1、數組API正則表達式

  1. 鏈接:arr.join("鏈接符")

用鏈接符把數組裏面的元素鏈接成字符串。數組

arr.join("")能無縫鏈接。dom

2.拼接:arr.concat("a","b",arr1)函數

強調:(1)不會修改原數組,返回新數組。code

(2)concat方法中的數組會被打散爲單個元素再拼接。排序

3.截取:arr.slice(start[,end])字符串

強調:(1)不會修改原數組,返回新的子數組。string

(2)含頭不含尾。it

(3)省略第二個參數表示從start位置開始一直截取到末尾。io

(4)支持負數,表示倒數第幾個。

4. 刪除、插入、替換:arr.splice(start,n[,value1,value2...])

強調:(1)直接修改原數組。

(2)返回全部被刪除元素組成的子數組。

(3)若是是插入,刪除了0個數,那麼從start位置開始以及以後的元素會被順移。

5. 翻轉數組:arr.reverse()

強調:(1)直接修改原數組。

6.數組排序:arr.sort()

強調:(1)直接修改原數組。

(2)默認按照數組元素第一位的ASCII碼從小到大排列。

(3)能夠設置下列的比較器函數來控制升序,降序或者打亂。

(4)arr.sort(function(a,b){return a-b;}); 升序(只限數組中是數字或者數字字符串)。

(5)arr.sort(function(a,b){return b-a;}); 降序(只限數組中是數字或者數字字符串)。

(6)arr.sort(function(){

return Math.random()>.5 ? 1 : -1;

});隨機打亂數組(數組中能夠是任何數據類型)

  1. 查找:arr.indexOf(value[,from])或arr.lastIndexOf(value[,from])

強調:(1)返回value在數組中的位置,沒有找到返回-1。

8. 是否有符合的:arr.some(function(value,index,arr){

return value > 7;

})

強調:(1)判斷數組中有沒有符合條件的元素,只要遇到符合條件的就退出循環。

(2)返回boolean值。

9.是否都符合:arr.every(function(value,index,arr){return value > 7;})

強調:(1)判斷數組中的元素是否都符合條件。

(2)返回boolean值。

10. 過濾數組:arr.filter(function(value,index,arr){return value > 7;})

強調:(1)過濾數組,返回符合條件的元素組成的新數組。

11. 循環數組,無返回值:arr.forEach(function(value,index,arr){})

12. 循環數組,有返回值:arr.map(function(value,index,arr){})

13.彙總:arr.reduce(function(prev,value,index,arr){

return prev + value;

})

返回數組裏面全部元素相加的和。prev是以前那些元素的和。

14. 數組轉字符串:String(arr)或arr.toString()

將數組中的元素用逗號鏈接成字符串,相似於arr.join(",")。

15. 開頭入棧:arr.unshift(value)

在數組的最開頭插入元素。

強調:(1)修改原數組。

(2)返回新數組的length。

16. 開頭出棧:arr.shift()

彈出數組最開頭的元素。

強調:(1)修改原數組。

(2)返回被彈出的元素。

17. 結尾入棧:arr.push(value1[,value2,arr1])

在數組末尾追加元素。

強調:(1)修改原數組。

(2)返回新數組的length。

(3)追加進去的數組不會被打散。

18. 結尾出棧:arr.pop()

彈出數組最末尾的元素。

強調:(1)修改原數組。

(2)返回被彈出的元素。

2、字符串API

1. 截取:str.slice(from[,end])或str.substring(start[,end])或str.substr(start[,length])

強調:(1)slice和substring用法相似,只是slice支持負數,而substring的負數會被轉換成0,而後截取0和start之間字符。

(2)substr的start支持負數。

2. 分割:str.split("分割符")

把字符串以分割符爲界點分割成數組。

3. 查找:str.indexOf(value[,from])或str.lastIndexOf(value[,from])

強調:(1)indexOf()只查找第一個,找不到返回-1。

4. 替換:str.replace("被替換字符","替換字符")

強調:(1)只會替換第一個,若是要替換全部符合條件的字符能夠使用正則g。

5. 拼接:str.concat(value)

把value拼接到str上,效果相似於str+value

6. 獲取指定位置字符:str.charAt(index)或str[index]

7. 去掉字符串先後空格:str.trim()

8. 字符串轉ASCII:str.charCodeAt(index)

9. ASCII轉字符串:String.fromCharCode(Unicode)

10. 轉大寫字母:str.toUpperCase()

11. 轉小寫字母:str.toLowerCase()

3、4種字符串「查找」方法的對比

1. str.indexOf(value[,from])

強調:(1)只能查找第一個匹配的位置,沒找到返回-1,可用循環改變from查找全部。

2. str.search(reg)

強調:(1)僅判斷有沒有。

(2)只返回第一個匹配的位置,沒找到返回-1。

(3)支持正則(不支持g,支持i)。

3. str.match(reg)

強調:(1)返回全部正則匹配的字符串組成的數組,沒找到返回null。

(2)支持正則,正則表達式必須帶g,才能返回全部匹配的字符串。

4. reg.exec(str)

既能找到關鍵詞的位置,又能得到內容。

強調:(1)支持正則,找不到返回null。

(2)若要查找全部正則必須加g,不加g只能查找第一個,並且要放進循環裏面。

相關文章
相關標籤/搜索