【发布时间】:2016-10-09 22:34:07
【问题描述】:
我正在做一个项目,我需要快速检查字符串中是否有一定数量的前导零。我使用正则表达式取得了成功:
var regex = new RegExp('^[0]{' + difficulty + '}.+');
if (regex.test(hash))
还有子串和重复:
if (hash.substring(0, difficulty) === '0'.repeat(difficulty))
就我的特定目的而言,速度是最重要的元素。我必须找到最快的方法来检查前导零的数量是否与难度相匹配。我对这两种方法都进行了基准测试,但结果波动很大,我无法判断哪种方法更好。另外,如果有其他更好的方法,请告诉我。提前致谢。
【问题讨论】:
-
简单的for循环就可以了
-
你可以遍历字符串,所以你设置
i = 0; i < 4; i++,所以4是你想要检测的前导零的数量 -
w3schools.com/jsref/jsref_charat.asp - 循环使用它。不知道它是否会更有效,但它很简单。
-
或者只是 if(str.substr(0, 4) == "0000")
标签: javascript node.js string performance hash