gpt4 book ai didi

javascript - 递归而不显式设置变量javascript

转载 作者:行者123 更新时间:2023-12-03 11:32:00 26 4
gpt4 key购买 nike

以下是同一递归函数的两个工作版本(针对 Node.js)。

版本 1

function getDependencies(mod, result) {
result = result || []
var dependencies = mod.dependencies || []
Object.keys(dependencies).forEach(function(dep) {
var key = dep + '@' + mod.dependencies[dep].version
if (result.indexOf(key) === -1) result.push(key)
getDependencies(mod.dependencies[dep], result) // COMPARE THIS LINE
})
return result.sort()
}

版本 2

function getDependencies(mod, result) {
result = result || []
var dependencies = mod.dependencies || []
Object.keys(dependencies).forEach(function(dep) {
var key = dep + '@' + mod.dependencies[dep].version
if (result.indexOf(key) === -1) result.push(key)
result = getDependencies(mod.dependencies[dep], result) // COMPARE THIS LINE
})
return result.sort()
}

在没有显式设置结果变量的情况下,函数的版本 1 与版本 2 相比如何工作?

最佳答案

result.push(key)result.sort() 都修改作为参数传入的 result 数组。所以不需要在调用者中再次分配它。

关于javascript - 递归而不显式设置变量javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26696581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com