Javascript nodejs中递归的自创问题
我正在尝试编写一个递归文件列表函数。它可以工作,除了递归部分;每当它读取文件夹中的数据时,它就会永远卡在一个循环中。例如: 文件夹C:/Server包含多个文本文件和一个文件夹。程序将记录文件,但当它看到文件夹时,它将始终交替输出:Javascript nodejs中递归的自创问题,javascript,node.js,recursion,filesystems,Javascript,Node.js,Recursion,Filesystems,我正在尝试编写一个递归文件列表函数。它可以工作,除了递归部分;每当它读取文件夹中的数据时,它就会永远卡在一个循环中。例如: 文件夹C:/Server包含多个文本文件和一个文件夹。程序将记录文件,但当它看到文件夹时,它将始终交替输出: C:/Server/Dir 及 代码如下: var fs = require('fs'); var paths = {}; function findPaths(dir) { var thisdir = fs.readdirSync(dir); for
C:/Server/Dir
及
代码如下:
var fs = require('fs');
var paths = {};
function findPaths(dir)
{
var thisdir = fs.readdirSync(dir);
for(Index = 0; Index < thisdir.length; Index++)
{
console.log(dir+"/"+thisdir[Index]);
if(fs.statSync(dir+"/"+thisdir[Index]).isDirectory())
{
paths[dir+"/"+thisdir[Index]] = "directory";
findPaths(dir+"/"+thisdir[Index])
}
else
{
paths[dir+"/"+thisdir[Index]] = "file";
}
}
}
findPaths("C:/Server");
console.log("FINISHED!");
var fs=require('fs');
var路径={};
函数findpath(dir)
{
var thisdir=fs.readdirSync(dir);
对于(索引=0;索引
请不要在您的回复中链接到库;我不想让臃肿的软件掩盖我的无知。你的
索引是一个全局变量-这不适合递归。将其更改为本地:
for(var Index = 0; Index < thisdir.length; Index++)
{
// ...
}
for(var Index=0;Index
谢谢!你给我省了很多麻烦D
for(var Index = 0; Index < thisdir.length; Index++)
{
// ...
}