您的位置:首页 > Web前端

【前端笔试题】给定数字N,求从1到N中间0出现的次数

2016-11-03 10:14 190 查看

给定数字N,求从1到N中间0出现的次数

这道题来自于自己真实笔试,现在总结到博文,算是给自己的再一次复习吧,另外也可以与大家分享

思路

这道题我的思路是,写一个function,参数为N,先遍历循环N次,拿到每个数,然后再把每个数字转化成字符串形式,再对该字符串遍历循环,用charAt()取到每一个字符串的字符与0比较是否相等,相等次数加1。

代码:

function fn(n) {
var count = 0; // 记个数
for (var i = 1; i <= n; i++) {
// 数字转字符串
var str = i.toString();
for (var j = 0; j < str.length; j++) {
// 比较
if (str.charAt(j) == 0) {
count++;
}
}
}
return count;
}


测试:

document.write(fn(11)); // 结果为1


当然我们可以稍微改下参数,让题目变得灵活,我们可以给定数字N,求1到N中,某个数字出现的次数。这里我将某个数字参数定为 target

function fn(n,target) {
var count = 0; // 记个数
for (var i = 1; i <= n; i++) {
// 数字转字符串
var str = i.toString();
for (var j = 0; j < str.length; j++) {
// 比较
if (str.charAt(j) == target) {
count++;
}
}
}
return count;
}


测试也是一样的,传参就好。

上面的方法实现应该是比较基础的,我相信其他朋友肯定有更好的方法,欢迎交流学习指正

咳咳,还是那句话

还是要不断学习,因为自己还很年轻
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  函数 前端 遍历
相关文章推荐