少なくとも私にとっては、結果は予想外です。ディレクトリを検索してすべてのファイルとサブフォルダを取得しようとしていますが、サブディレクトリのサブディレクトリの操作に問題があります。関数自体は、特定のフォルダー内のすべてのフォルダーとすべてのファイルのすべてのコンテンツを検索し、フォルダー内のものの1つがフォルダーである場合にそれ自体を呼び出すように設計されています。
ただし、終了することはなく、同じフォルダをそれ自体にフィードし続け、何も実行せず、最終的にはクラッシュします。
var fs = require('fs');
var array = fs.readdirSync(__dirname);
function getAllSub(array){
for (i = 0; i < array.length; i++){
if (array[i].indexOf(".") == (-1))
{
array = array.concat(array[i] + "/" + fs.readdirSync(__dirname + "/" + array[i]));
}
if (array[i].indexOf("/") != (-1)){
var foldcon = array[i].substr(array[i].indexOf("/") + 1);
var folder = array[i].substr(0, array[i].indexOf("/"));
foldcon = foldcon.split(",");
for (n = 0; n < foldcon.length; n++){
foldcon[n] = folder + "/" + foldcon[n]
if (foldcon[n].indexOf(".") == (-1)){
console.log([foldcon[n]]);
foldcon[n] = getAllSub([foldcon[n]]);
}
}
array.splice(i, 1, foldcon);
}
}
return array;
}
array = getAllSub(array);
console.log(array);