2012-03-27 39 views
0

我有一個XML轉換成JSON然後將其存儲在一個MySQL數據庫,利用節點的小數據轉換應用,表達& node-mysql節點推變量動態

它工作得很好,直到我做的大批量,這有與模塊或mySql無關,但似乎在節點中有一些欺騙行爲。

要格式化插入的數據我需要在基本數組中的數據,所以我做這樣的事情。

var keys = ['first_name', 'last_name', 'mi'], values, que, i, q; 
values = [] 
que = [] 
i = 0 
// data is a json array with corresponding keys 
while(i < data.length){ 

    values.length = 0 

    q = 0 

    for(key in data[i]){ 

     values.push(data[i][keys[q]]); 


     q += 1 
    } 

    que.push(values) 

    verifyInsert(i) 

    i += 1 
} 

當我用一個條目做這個應用程序的工作很棒,但是當我做多個時,我多次獲得最後一個條目。

我無法覆蓋que,但由於某種原因,每次迭代後que中的所有值都會改變。在普通的javascript中,我一直使用這個方法來構造一個帶有可重用變量的數組,然後將實例存儲在另一個位置。銷燬可重用變量values.length = 0中的值。

此方法在節點中不起作用嗎?因爲它似乎存儲變量本身而不是變量的實例。

回答

4

似乎這就是你的問題,它存儲變量本身。

爲了克服這個問題,你應該做的

值= [];

在你的循環中。這將爲每次迭代創建一個新陣列

+0

謝謝!那工作, – 2012-03-27 21:38:07