FzzBzz
Entertaining ways to solve that problem.
by justjohn
HTML
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.1/underscore-min.js"></script>
<div id="target"></div>
JavaScript
// compact code ftw!
// for(i=0;i<100;console.log((++i%3?"":"Fizz")+(i%5?"":"Buzz")||i));
// recursive
/* (function r(i) {
f = i%3?"":"Fizz",b = i%5?"":"Buzz";
console.log(f+b||i);
i < 100 && r(i+1);
})(0); */
// more crazy
/* for (i=0;i<100;i++){
s='';
i%3||(s="Fizz");
i%5||(s+="Buzz");
console.log(s||i);
} */
var rules = [
[3, 'fizz'],
[5, 'buzz']
];
var output = _.range(1, 101).reduce(function(m, i) {
return m + (rules.reduce(function(o, pair) {
return o + (i % pair[0] === 0 ? pair[1] : '');
}, '') || i) + '<br>';
}, '');
document.getElementById('target').innerHTML = output;