2016-09-15 10 views
0

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 

私はそれがですべてを読み込む場所にコードを修正するにはどうすればよいですオブジェクト配列の次の時刻をチェックするために移動するよりもフォルダがありますか?

+0

このスクリプトは何を実行していますか?無限ループではなく、このコードで止まっていると思われるものは何でもそうです。 – httpNick

+0

私は 'node treeTest.js' –

+3

' for(i = 0; i epascarello

答えて

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

あなたはそれがグローバルではありませんのでvariを定義する必要があります。あなたがそれを呼び出すたびに、各反復で0にリセットされます。

for (var i=0; i < array.length; i++) { 
関連する問題