您的位置:首页 > Web前端 > JavaScript

JavaScript趣题:循环计数器

2016-08-31 08:31 344 查看
前端组的各位:

大家先放下手上的活,又有新需求来了。

我们网站首页的那个大的计数器,就是统计用户软件下载量的那个。

产品经理看了下,觉得得加点特效,让它看起来更用户友好。

他已经拿出了一个方案,就是当数字停在确切的值之前,得有个循环滚动效果。

类似于这样:



任务如下:

创建一个函数,根据计数值字符串,创建二维数组返回。

例如:

counterEffect("1250") // [[0,1],[0,1,2],[0,1,2,3,4,5],[0]]
counterEffect("0050") // [[0],[0],[0,1,2,3,4,5],[0]]
counterEffect("0000") // [[0],[0],[0],[0]]

比方说,"1250",它的第一个字符1,和二维数组的[0,1]对应,第二个字符2,和[0,1,2]对应。
也就是从0到当前字符的过程,每一个中间数都要录入数组中。

思路:

很简单,从左至右遍历字符串,根据当前的字符,生成第二维的数组,push进第一维的数组即可。

function counterEffect(hitCount) {
var result = [];
for(var i=0;i<hitCount.length;i++){
var chr = hitCount.charAt(i);
var num = chr - 0;
var temp = [];
for(var j=0;j<=num;j++){
temp.push(j);
}
result.push(temp);
}
return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息