国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Javascript中實現String.startsWith和endsWith方法

2024-05-06 16:21:58
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了Javascript中實現String.startsWith和endsWith方法,這兩個很好用的方法在JS中沒有,本文就自己編碼實現了這兩個方法,需要的朋友可以參考下

在操作字符串(String)類型的時候,startsWith(anotherString)和endsWith(anotherString)是非常好用的方法。其中startsWith判斷當前字符串是否以anotherString作為開頭,而endsWith則是判斷是否作為結尾。舉例:

 

 
  1. "abcd".startsWith("ab"); // true 
  2. "abcd".startsWith("bc"); // false 
  3. "abcd".endsWith("cd"); // true 
  4. "abcd".endsWith("e"); // false 
  5. "a".startsWith("a"); // true 
  6. "a".endsWith("a"); // true 

但不幸的是,Javascript中沒有自帶這兩個方法,需要的話只能自己寫。當然寫起來也不難就是了。

 

 
  1. if (typeof String.prototype.startsWith != 'function') { 
  2. String.prototype.startsWith = function (prefix){ 
  3. return this.slice(0, prefix.length) === prefix; 
  4. }; 

String.slice()和String.substring()類似,都是獲得一段子串,但有評測說slice的效率更高。這里不使用indexOf()的原因是,indexOf會掃描整個字符串,如果字符串很長,indexOf的效率就會很差。

 

 
  1. if (typeof String.prototype.endsWith != 'function') { 
  2. String.prototype.endsWith = function(suffix) { 
  3. return this.indexOf(suffix, this.length - suffix.length) !== -1; 
  4. }; 

和startsWith不一樣,endsWith中可以使用indexOf。原因是它只掃描了最后的一段字符串,而比起slice的優勢是它不用復制字符串,直接掃描即可,所以效率更高。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 吉安市| 乐山市| 巴林右旗| 江华| 嘉兴市| 含山县| 墨脱县| 文山县| 郴州市| 定襄县| 陇南市| 乌海市| 张北县| 陆川县| 且末县| 海南省| 冷水江市| 东至县| 方山县| 乌兰县| 泽库县| 婺源县| 肥东县| 南靖县| 定州市| 上思县| 敦化市| 远安县| 沅江市| 田阳县| 岗巴县| 桓仁| 鹰潭市| 嘉禾县| 郎溪县| 康平县| 方城县| 宁德市| 云浮市| 临西县| 陆丰市|