2016-10-03 19 views
0

這個作品如何與變量作爲鍵調用,而在JavaScript稱爲數組

for (var i=1; i<=queueconf.limit; i++) 
{ 

    var filename=queueconf['jobs']['queue1']['name']; 
} 

,但是,這並不工作

for (var i=1; i<=queueconf.limit; i++) 
{ 

    //as queue+i 
    var filename=queueconf['jobs']['queue'+i]['name']; 

    var qfile=require("./jobs/"+filename); 
} 

爲什麼呢? 錯誤:類型錯誤:無法未定義

讀取屬性「名」它看到類似上面代碼中的錯誤

+0

確定'queueconf [ '工作']''有queue0','queue1'等屬性? – Li357

+1

'['queue'+ i]'可能無效或找不到。 –

+0

「i」表示0到queueconf.limit之間的任何值。其中'jobs ['queue'+ i]'可能返回'undefined'。檢查你的'queueconf' –

回答

2

這可能不是所有的queuesqueues1queuesn)是queueconf['jobs']可用。

嘗試這種故障安全

for (var i=1; i<=queueconf.limit; i++) 
{ 
    var queue = queueconf['jobs']['queue'+i]; 
    if (queue) 
    { 
    var filename = queue['name']; 
    var qfile = require("./jobs/"+filename); 
    } 
} 
+0

是的是的,queueconf.limit是錯誤的..現在它已經工作..謝謝 –

相關問題