javascript计算1-10000中0出现的次数,怎么写?
一个小算法题:用javascript计算1-10000中0出现的次数,我用循环写了一个方案,代码如下:
function getZeroCount(num) {
let count=0;
let regObj=/0/g;
for (let i=1;i<=num;i++){
let str=''+i;
let match=str.match(regObj);
count+=match==null?0:match.length;
}
return count;
}
console.log(getZeroCount(10000));
计算的结果是对的,但是总感觉用循环做这个题,思路是错的,或者我的代码思路不够好,有没有更好的解题思路呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
楼主的思路没错,代码也没问题。
当然这个问题思路不唯一,我提供另一种思路供参考:
首先,判断一个字符串有几个
0
,除了正则外还可以利用.split()
。比如:其次,有没有必要把每个数字挨个检验?或许可以先把他们拼接起来,比如利用
Array.join()
。两个结合下: