數據結構——js中數組和字符串常用api總結

一、數組Array

1. Array構造函數方法

  • Array.from 常用指數:兩顆星

從類似數組或迭代器對象中構造函數,包括dom元素數組、集合Set、字典Map、arguments等等。

2. 原地修改數組方法

這些方法不會返回新數組

  • 五顆星
    (1) arr.push():向數組末尾添加一個或多個元素,添加多個元素要用展開語法 arr.push(...[1,2,3])
    (2) arr.pop():彈出末尾元素,並返回它
  • 四顆星
    (1) arr.reverse():反轉數組
    (2) arr.sort():排序數組,注意啦!默認的是按編碼排序的,要想升序或降序排序,要添加函數參數,如arr.sort((a, b) => a-b)是升序,換成arr.sort((a, b) => b-a)是降序
    (3) arr.shift():刪除並返回第一個元素
    (4) arr.splice(index, howmany, item1, item2, item3):增加、刪除或替換某些元素,起始位置由index決定,多少個由howmany決定,item是要增加或替換成的元素,具體使用請看MDN文檔的詳細講解。
  • 三顆星
    (1) arr.unshift():在數組開頭增加一個或多個元素,並返回新長度,多個元素要用展開語法
    (2) arr.fill(value, start, end):以value填充[start, end]區間,可以用來創建二維數組,比如let arr= new Array(row).fill([])

3. 返回新數組的方法

返回新數組就說明如果你要使用修改後的結果,需要創建一個數組接收它。

  • 四顆星
    (1) arr.concat(otherArr):合併其它數組
    (2) arr.join('-'):以某種連接符拼接數組元素爲字符串,常用的是空格' ',即arr.join(' '),跟字符串的str.split()是相反的一組運算
    (3) arr.slice(hegin, end):截取數組區間,淺拷貝,注意這是前閉後開區間,即結果不包括end對應元素

4. 遍歷方法

遍歷數組是經常會用到的,還有很多其它的有各色各樣用處的遍歷方法,以下只是經常用到的幾個。

  • arr.map():傳入函數,可以迭代對數組中的每個元素進行對應操作,最後返回操作好的新數組。
  • arr.forEach():遍歷元素值或索引值,有侷限性,不能continue或break。
  • for(let index in arr):用索引值遍歷數組。
  • for(let value of arr):es6新增的遍歷迭代對象數值的方法,Map、Set也可以用,這個直接遍歷數組元素,而不是索引。

關於這些方法的區別,具體可以看這篇博文:javascript數組遍歷

5. 獲得索引方法

三顆星

  • arr.indexOf():返回某個元素第一次出現的位置,沒有該元素返回-1
  • arr.lastIndexOf():返回某個元素最後一次出現的位置,沒有該元素返回-1
  • arr.includes(val):判斷數組中是否有val元素,返回布爾值

二、字符串String

字符串的方法比較雜,不能按照像數組一樣的塊分類,因此這裏就按照出現的頻率排序總結,最前面的出現的頻率高。

  • str.slice(start, end):截取字符串某段區域,返回新字符串

  • str.split():以指定字符或正則表達式分割字符串

  • str.substr(start):返回在指定位置開始的子字符串,也可加第二個參數length,指定子字符串長度

  • str.substring(start, end):返回兩個下標之間的子字符串

  • str.trim():去掉字符串開始和結束的空格

  • str.indexOf():返回某個元素第一次出現的位置,沒有該元素返回-1

  • str.lastIndexOf():返回某個元素最後一次出現的位置,沒有該元素返回-1

  • str.includes(s):判斷字符串中是否有子字符串s

  • str.charAt(idx):返回特定位置的字符

  • str.charCodeAt(idx):返回表示給定索引的字符的Unicode的值

  • str.toLowerCase():將字符串轉換成小寫並返回

  • str.toUpperCase():將字符串轉換成大寫並返回

  • str.match(reg):使用正則表達式匹配字符串,返回匹配到的數組,關於match和正則表達式的用法,可參看我的另一篇博客:JavaScript正則表達式

  • str.replace(reg):正則表達式比較字符串,用新的子串替換被匹配的子串

  • str.search(reg):對正則表達式和指定字符串進行匹配搜索,返回第一個出現的匹配項的下標

  • str.concat():連接兩個字符串文本,並返回新的字符串,並不常用,因爲連接兩個字符串文本可以直接使用str1 + str2

  • str.endsWith(s):判斷字符串是否以給定字符串結尾

  • str.startsWith(s):判斷字符串是否以給定字符串開始

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章