为了账号安全,请及时绑定邮箱和手机立即绑定

请教一个函数的写法。

请教一个函数的写法。

九州编程 2019-01-19 13:49:46
根据给出的数字生成相应的循环。如给出2,则生成2重循环,3则3重循环如给出3,则 for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr.length; j++) { for (let k = 0; k < arr.length; k++) { } } } }
查看完整描述

2 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

递归


f(arr, 3, [])

function f(arr,k,temp){
    if(k<=0){
        let sum = 0
        let r =[]
        for(let i = 0; i < temp.length; i++){
            sum += temp[i]
            r.push(temp[i])
        }
        if (sum  === hz) {
            result.push(r)
        }
        return
    }
    for (let i = 0; i < arr.length; i++) {
        temp.push(arr[i])
        f(arr, k-1, temp)
        temp.splice(temp.length-1, 1)
    }
}

查看完整回答
反对 回复 2019-02-12
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

這種需求一般都儘可能通過遞歸來解決的, 讓n作爲參數然後n = 0時跳出遞歸就行了. 強行要loop解決估計要一些奇技淫巧了.

查看完整回答
反对 回复 2019-02-12
  • 2 回答
  • 0 关注
  • 453 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信