[Javascript] Covert for loop code to recursion code

// loop
function demo1() {
    // before loop
    beforeLoopCode;
    for (initCode; conditionCode; stepChangeCode) {
       loopCode
    }
    postCode
}

// recursive
function demo2() {
    beforeLoopCode;
    initCode
    function _m() {
        if (!conditionCode) {
            return
        }
        loopCode;
        stepChangeCode;
        _m()
    }
    _m()
    postCode
}

 

Example

function demo1(arr) {
    let sum = 0;
    for (let i = 0; i < arr.length; i++) {
      sum += arr[i]
    }
    return sum
}

function demo2(arr) {
    let sum = 0;
    let i = 0;
    function _m () {
        if (i >= arr.length) {
            sum += arr[i]
        }
        sum += arr[i]
        i++
    }
    _m()
    return sum
}

 

posted @   Zhentiw  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2022-10-22 [RxJS] Append values to a stream using startWith and endWith (countdown$)
2022-10-22 [RxJS] Use filter and partition for conditional logic
2022-10-22 [RxJS] Automate unsubscribe process with takeUntil
2022-10-22 [RxJS] Extract common operator logic into standalone function
2022-10-22 [Typescript] Tips: Use assertion functions inside classes
2020-10-22 [React] Lazy loading module
2019-10-22 [Flutter] How to pass the state between two screen thought router
点击右上角即可分享
微信分享提示