Count the digit one - brute force

by Hari Menon

HTML

<div id="output"></div>

JavaScript

var countDigitOne = function(n) {
    if (n <= 0) return 0;
    var sum = Array.apply(null, Array(n)).map(function(n, i) {
      return (i + 1).toString().replace(/0|[2-9]/g, '');
    }).reduce(function(prev, curr) {
      return prev + curr.length;
    }, 0);
    console.log('%s -> %s', n, sum);
};

/*
countDigitOne(1);
countDigitOne(2);
countDigitOne(7);
countDigitOne(9);
countDigitOne(10);
countDigitOne(11);
countDigitOne(12);
countDigitOne(14);
countDigitOne(19);
countDigitOne(20);
countDigitOne(21);
countDigitOne(29);
countDigitOne(100);
countDigitOne(101);
countDigitOne(114);
countDigitOne(200);
countDigitOne(214);
countDigitOne(314);
countDigitOne(1000);
countDigitOne(10000);
countDigitOne(100000);
countDigitOne(100999);
*/

countDigitOne(1);
countDigitOne(10);
countDigitOne(100);
countDigitOne(1000);
countDigitOne(10000);
countDigitOne(100000);