国产探花免费观看_亚洲丰满少妇自慰呻吟_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的優勢是它不用復制字符串,直接掃描即可,所以效率更高。

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

圖片精選

主站蜘蛛池模板: 鹿邑县| 黄陵县| 肥城市| 洛南县| 荔波县| 老河口市| 宁化县| 杂多县| 阳高县| 南通市| 莱芜市| 静安区| 望奎县| 正阳县| 牡丹江市| 榆林市| 鲁山县| 古交市| 富平县| 福建省| 星子县| 威信县| 鹤山市| 东乌珠穆沁旗| 井研县| 和政县| 临潭县| 台北市| 宁都县| 桓台县| 荆门市| 和林格尔县| 澄江县| 宁武县| 武功县| 鹤岗市| 盘山县| 永顺县| 台东县| 介休市| 黑山县|