FizzBuzz ArrayMapvsPrecompute (v5)

Revision 5 of this benchmark created on


Test runner

Ready to run.

Testing in
TestOps/sec
Precompute
var res = [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"];
console.log(res.join('\n'));
 
ready
ArrayMap
console.log(
Array.apply(0, Array(100)).map(function (x, y) { 
    var nb = y+1;
    var isFizz = ((nb % 3) == 0);
    var isBuzz = ((nb % 5) == 0);
    var isFizzBuzz = (isFizz && isBuzz);
    
    if (isFizzBuzz) return 'fizzbuzz';  
    if (isFizz) return 'fizz';
    if (isBuzz) return 'buzz';
    return(nb);
                                               
}).join("\n"));
 
ready
Mine
console.log(
  Array.apply(null, {length: 100}).map(function(val, index) {
    return (++index%3?'':'Fizz')+(index%5?'':'Buzz')||index;
  }).join('\n')
);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.