首页 > 解决方案 > how function numberIterator

问题描述

help me to solve this with recursive how number five is not hardcode

function numberIterator(num) {
    var number=num
    if (number==0) {
      return 5
    }

    var first=5
    var temp=""
    temp+= first -(number)
    return temp+numberIterator(num-1)
}


console.log(numberIterator(5)); // '012345'
// console.log(numberIterator(7)); // '01234567'

标签: javascriptrecursion

解决方案


以下是三个实现。

function numberIterator1(num) {
  function helper(cur, acc) {
    return cur > num ? acc : helper(cur+1, acc + cur);
  }
  return helper(0, '');
}

function numberIterator2(num) {
  return Array.from(Array(num+1).keys()).join('');
}

function numberIterator3(num) {
  let str = '', cur = -1;
  while(++cur <= num) str += cur;
  return str;
}


console.log(numberIterator1(5)); // '012345'
console.log(numberIterator2(5)); // '012345'
console.log(numberIterator3(5)); // '012345'
console.log(numberIterator1(7)); // '01234567'
console.log(numberIterator2(7)); // '01234567'
console.log(numberIterator3(7)); // '01234567'


推荐阅读