NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
一、for循环法遍历法 ```js 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)); ``` 二、split切割法 ```js function getZeroCount(num) { return Array.from({length: num}, (v, i) => i + 1).join().split("0").length - 1; } console.log(getZeroCount(10000)); ``` > **切割法思路** > 首先,判断一个字符串有几个0,除了正则外还可以利用.split()。比如: > ``` > var str = "1029304910"; > var len = str.split("0").length - 1; > ``` > 其次,有没有必要把每个数字挨个检验?或许可以先把他们拼接起来,比如利用Array.join()。