// FizzBuzz in Javascript
// @author: Larry Battle <http://bateru.com/news>
// @date Nov 30, 2012
// http://bateru.com/news/2012/10/code-of-the-day-fizzbuzz-in-javascript/
var getFizzBuzzStatements = function (len) {
var j,
arr = [];
for (var i = 1; i <= len; i++) {
switch (i % 15) {
case 0:
arr.push("FizzBuzz");
break;
case 3: case 6: case 9: case 12:
arr.push("Fizz");
break;
case 5: case 10:
arr.push("Buzz");
break;
default:
arr.push(i);
}
}
return arr;
};
var fizzBuzz = function () {
console.log(getFizzBuzzStatements(100).join("\n"));
};
test("test getFizzBuzzStatements()", function(){
var fn = getFizzBuzzStatements;
var expected=[
1,2,"Fizz",4,"Buzz","Fizz",7,8,"Fizz","Buzz",11,"Fizz",
13,14,"FizzBuzz",16,17,"Fizz",19,"Buzz","Fizz",22,23,
"Fizz","Buzz",26,"Fizz",28,29,"FizzBuzz",31,32,"Fizz",
34,"Buzz","Fizz",37,38,"Fizz","Buzz",41,"Fizz",43,44,
"FizzBuzz",46,47,"Fizz",49,"Buzz","Fizz",52,53,"Fizz",
"Buzz",56,"Fizz",58,59,"FizzBuzz",61,62,"Fizz",64,"Buzz",
"Fizz",67,68,"Fizz","Buzz",71,"Fizz",73,74,"FizzBuzz",
76,77,"Fizz",79,"Buzz","Fizz",82,83,"Fizz","Buzz",86,
"Fizz",88,89,"FizzBuzz",91,92,"Fizz",94,"Buzz","Fizz",
97,98,"Fizz", "Buzz"
];
deepEqual( fn(100), expected );
});
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/qunit/git/qunit.css" type="text/css" media="screen" />
</head>
<body>
<h1 id="qunit-header">QUnit example</h1>
<h2 id="qunit-banner"></h2>
<div id="qunit-testrunner-toolbar"></div>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>
<div id="qunit-fixture">test markup, will be hidden</div>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://code.jquery.com/qunit/git/qunit.js"></script>
</body>
</html>