JS面試題之詳解slice-splice--substr-substring-slice-split-join

前言

總有人經常會搞混這幾個方法,這次專門寫這篇博客對這個幾個經常使用的方法做一次總結,希望對大家有幫助

1.Array.prototype.slice(start,end)

  • 用途:從已有的數組中返回選定的連續幾個元素(不包括end)
  • 參數說明:參數可爲負(end可不寫,默認到尾部)
  • 不修改原數組
  • 注意:參數start>=end時返回空數組

2.Array.prototype.splice(start,length,item1,item2,…)

  • 用途:從已有的數組剔除選中的連續幾個元素並返回或者添加指定的元素
  • 參數說明:參數可爲負(length,item?,不寫時,默認到尾部,只有item,沒有length時方法無效果)
  • 會修改原數組(增添或刪除)
  • 注意:參數length<=0時,不會刪除數組元素

3.Sting.prototype.substr(start,length)

  • 用途:在字符串中抽取從 start 下標開始的指定數目的字符
  • 參數說明:參數可爲負(length可不寫,默認到尾部)
  • 不修改原字符串
  • 注意:參數length<=0時,返回空字符串

4.Sting.prototype.substring(start,end)

  • 用途:提取字符串中介於兩個指定下標之間的字符(不包括end)
  • 參數說明:參數不能爲負(end可不寫,默認到尾部)(如果兩個參數都爲負,返回空字符串,如一個爲正,一個爲負,會把這個正的相當於第二個參數,第一個參數爲0)
  • 不修改原字符串
  • 注意:如果參數 start 與 stop 相等,那麼該方法返回的就是一個空串(即長度爲 0 的字符串)。如果 start 比 stop 大,那麼該方法在提取子串之前會先交換這兩個參數。

5.Sting.prototype.slice(start,end)

  • 用途:提取字符串的某個部分,並以新的字符串返回被提取的部分
  • 參數說明:參數可爲負(end可不寫,默認到尾部)
  • 不修改原字符串
  • 注意:參數start>=end時返回空字符串

6.Sting.prototype.split(separator,howmany)

  • 用途:把一個字符串按照指定字符串或字符或正則表達式分割成字符串數組( Array.join 執行的操作是相反的)
  • 參數說明:separator必需。字符串或正則表達式,howmany可選。該參數可指定返回的數組的最大長度。如果設置了該參數,返回的子串不會多於這個參數指定的數組。如果沒有設置該參數,整個字符串都會被分割,不考慮它的長度。
  • 不修改原字符串

7.Array.prototype.join(separator)

  • 用途:把數組中的所有元素放入一個字符串(元素是通過指定的分隔符進行分隔的)
  • 參數說明:separator 可選。指定要使用的分隔符。如果省略該參數,則使用逗號作爲分隔符。(如果要無縫拼接,參數使用空字符串‘’)
  • 不修改原數組

總結

記憶:

  1. 只有Array.splice會修改原數組
  2. Array.slice,String.slice,String.substring的參數爲(start,end)
  3. String.substring的參數不能爲負
  4. split和join用途相反

最後

希望這篇博客對大家能有所幫助,如果對你有所幫助,麻煩點贊支持一下,謝謝!

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