最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript計算字符串實際長度方法示例

 更新時間:2023年08月24日 11:40:54   作者:點墨  
這篇文章主要為大家介紹了JavaScript計算字符串實際長度方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

計算字符串的實際長度

雙字節(jié)字符(包括漢字在內)長度計2,ASCII字符計1

方法1:使用match

export function getByteLenMatch(data) {
  let result = 0;
  for (let s of data) {
    result += s.match(/[^\\x00-\\xff]/ig) == null ? 1 : 2;
  }
  return result;
}

方法2:使用replace

export function getByteLenReplace(data) {
  return data.replace(/[^\\x00-\\xff]/ig, "aa").length;
}

測試代碼:

let testData = new Array(50000000).fill("哈").toString();
    for (let i = 0; i < 3; i++) {
      console.time("getByteLenMatch");
      getByteLenMatch(testData);
      console.timeEnd("getByteLenMatch");
      console.time("getByteLenReplace");
      getByteLenReplace(testData);
      console.timeEnd("getByteLenReplace");
    }

性能比較(單位ms)

字符串長度matchreplace
50,000,00080518626
50,000,00093518019
50,000,000103847512
10,000,00016311783
10,000,00016461343
10,000,00016631372
5,000,000799728
5,000,000822806
5,000,000884645
1,000,000165128
1,000,000166143
1,000,000170113
500,0008458
500,0008354
500,0008661
100,000207
100,000185
100,000205
50,00011.793.01
50,00010.392.68
50,00011.992.82
10,0004.130.60
10,0004.320.59
10,0005.480.58
5,0001.880.31
5,0001.360.33
5,0002.710.31
1,0001.670.07
1,0000.210.07
1,0001.020.06
5000.08400.0322
5000.08200.0332
5000.08400.0320
1000.02290.0100
1000.04320.0149
1000.04710.0161

在大數(shù)據量情況下,replace性能初次會劣于match,多次執(zhí)行后會優(yōu)于match,小數(shù)據量情況下,replace性能優(yōu)于match

以上就是JavaScript計算字符串實際長度方法示例的詳細內容,更多關于JavaScript計算字符串長度的資料請關注腳本之家其它相關文章!

相關文章

  • 動態(tài)加載、移除js/css文件的示例代碼

    動態(tài)加載、移除js/css文件的示例代碼

    本文簡單介紹動態(tài)加載、移除、替換js/css文件的示例代碼,代碼簡單易懂,非常不錯,具有參考借鑒加載,需要的朋友參考下吧
    2018-03-03
  • webpack-cli在webpack打包中的作用小結

    webpack-cli在webpack打包中的作用小結

    webpack?是打包代碼時依賴的核心內容,而?webpack-cli?是一個用來在命令行中運行?webpack?的工具,那么webpack-cli在webpack打包中的作用是什么,本文就詳細的介紹一下,感興趣的可以了解一下
    2022-04-04
  • js類的靜態(tài)屬性和實例屬性的理解

    js類的靜態(tài)屬性和實例屬性的理解

    看到論壇的帖子,然后對靜態(tài)屬性和實例屬性有個新的認識,做下記錄。
    2009-10-10
  • BootstrapTable加載按鈕功能實例代碼詳解

    BootstrapTable加載按鈕功能實例代碼詳解

    這篇文章主要介紹了BootstrapTable加載按鈕功能實例代碼詳解,需要的朋友可以參考下
    2017-09-09
  • Javascript變量的作用域和作用域鏈詳解

    Javascript變量的作用域和作用域鏈詳解

    這篇文章主要介紹了Javascript變量的作用域和作用域鏈詳解,本文用一個實例和運行結果來講解這兩個知識,需要的朋友可以參考下
    2015-04-04
  • JavaScript中fromCharCode 和 fromCodePoint 的詳解與應用小結

    JavaScript中fromCharCode 和 fromCodePoint 的詳解與應

    本文將詳細介紹 JavaScript 中的 String.fromCharCode 和 String.fromCodePoint 方法,這兩個方法能夠幫助開發(fā)者高效地處理字符與編碼之間的轉換,理解它們的區(qū)別與應用,將讓你的代碼更加靈活和高效,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • JavaScript函數(shù)的使用教程

    JavaScript函數(shù)的使用教程

    這篇文章主要介紹了JavaScript函數(shù)的使用教程,JavaScript函數(shù)是被設計為執(zhí)行特定任務的代碼塊。JavaScript函數(shù)會在某代碼調用它時被執(zhí)行。文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • javascript每日必學之運算符

    javascript每日必學之運算符

    javascript每日必學之運算符,javscript的邏輯中的正序,分支,循環(huán)以及一些簡單的運算符,想要成為javascript大神的朋友不要錯過,閱讀一下
    2016-02-02
  • JavaScript模擬實現(xiàn)新浪下拉菜單效果

    JavaScript模擬實現(xiàn)新浪下拉菜單效果

    這篇文章主要為大家介紹了如何通過JavaScript模擬實現(xiàn)新浪的下拉菜單效果,文中的示例代碼講解詳細,感興趣的小伙伴可以動手試一試
    2022-03-03
  • 原生js+ajax分頁組件

    原生js+ajax分頁組件

    這篇文章主要為大家詳細介紹了原生js+ajax分頁組件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01

最新評論

永川市| 宁津县| 龙陵县| 体育| 鹤山市| 万年县| 北辰区| 桂东县| 上犹县| 两当县| 衡东县| 府谷县| 溧阳市| 黄龙县| 固安县| 阿拉善右旗| 忻城县| 汽车| 常德市| 油尖旺区| 霍州市| 仁化县| 广汉市| 高台县| 长汀县| 五大连池市| 温宿县| 融水| 福建省| 即墨市| 万安县| 珠海市| 峡江县| 根河市| 图木舒克市| 五峰| 容城县| 个旧市| 新邵县| 临泉县| 尼勒克县|