javascript - 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'
解决方案
以下是三个实现。
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'
推荐阅读
- lisp - 在 LISP (Racket) 中定义一棵树
- loops - 重新启动 AS3 循环的最佳方法是什么?
- javascript - 两种模式都在点击时触发
- java - java中的高阶函数,如何编写一个不带参数的方法并返回一个Map,其中Map的值是java中的一个方法
- android - Flutter - Activity Tracker App - 步数、楼上/楼下、静止
- javascript - 角度基于权限的路由
- reactjs - 如何在 React 中获取 API 响应?
- json - 找不到名称“JSON”打字稿文件
- bash - 如何删除字符串中的 \r\n 并将字符串转换为数组
- node.js - 没有互联网访问时,纱线运行节点非常慢