Lucky numbers in Javascript

by Farzad YZ

JavaScript

console.clear();

function has13(input) {
  return String(input).indexOf('13') !== -1;
}

function has4(input) {
  return String(input).indexOf('4') !== -1;
}

function generateLuckyTillLength(length) {
	var result = [];
	for (var i = 1;; i++) {
  	if (has13(i) || has4(i)) {
    	continue;
    }
    result.push(i);
    if (result.length === length) {
    	break;
    }
  }
  return result;
}

function generateRealTillNumber(number) {
	var result = [];
	for (var i = 1; i <= number; i++) {
    result.push(i);
  }
  return result;
}

function processData(input) {
  var reals = generateRealTillNumber(Number(input));
  var luckies = generateLuckyTillLength(reals.length);
  console.log(luckies.pop());
}

processData(12);