gpt4 book ai didi

javascript - 无限循环而不是移动到下一个文件夹

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

我正在尝试创建一个库函数,其中使用 JSON 文件(由 directory tree 创建),它深入每个文件夹,然后构建一个交互式 <ul>列表。我正在通过控制台测试它,它在文件夹 json 中无限循环(按照本示例)。

My json file

我的代码如下...

var directory = './app';
var jSon = dirTree(directory, ['.js', '.json', '.html']);

console.log(jSon.children.length)

libBuilder(directory, jSon.children)

function libBuilder(directory, array) {
for (i=0; i < array.length; i++) {
if (fs.statSync(path.join(directory, array[i].name)).isFile()) {
console.log(colors.cyan(array[i].name))
} else if ( fs.statSync(path.join(directory, array[i].name)).isDirectory()) {
console.log(colors.red(array[i].name));
libBuilder(path.join(directory, array[i].name), array[i].children)
}
};
}

此控制台输出无限重复:

 json
comic.json
config.json
library.json
dragscroll.js
file.js

如何将代码修复到读取文件夹中所有内容的位置,然后移出以检查对象数组中的下一次?

最佳答案

for (i=0; i < array.length; i++) { <-- i is global!

您需要使用 var 定义 i,因此它不是全局的。每次调用它时,它都会在每次迭代中重置为零。

for (var i=0; i < array.length; i++) {

关于javascript - 无限循环而不是移动到下一个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39517474/

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