2015-10-06 61 views
-1

我已創建foo功能:如何重寫在JavaScript中具有相同名稱的數組?

function foo(json) { 
    var i = 0; 
    var array= []; 
    for(i=0;i<30;i++){ 
     var tmp = json[i].unique; 
     array.push(tmp); 
    } 
} 

我每次調用foo功能,用它創建一個數組,並保持最後一個不同的JSON。

我怎樣才能覆蓋這個數組每次我調用foo函數? 謝謝!

*更新*

我在我的js文件作爲不同變量的頂部聲明var array = [],我試圖用屬於foo函數他的範圍之外var array變量,這是一個初學者的錯誤不幸的是:|

+0

爲什麼呢?它如何幫助? –

+0

'for(i = 0; i <29; z ++)'z ++?你確定嗎? –

+0

不知道你的意思是「保留最後一個」 - 如果你調用foo 3x,那麼在每個調用中,你會得到一個不同的數組,當foo完成時,'array'超出範圍,你沒有它了。除非你有其他的代碼沒有顯示給我們。你是說你想在'foo'之外保留'array'嗎? –

回答

0

聲明array全球範圍內,並使其空每次打電話foo

var array= []; // global 

function foo(json) { 
    var i = 0; 
    array = []; // empty array before executing for loop 
    for(i=0;i<29;i++){ 
    var tmp = json[i].unique; //some of my json a parameter. 
    array.push(tmp); //push data to array 
    } 
+1

問題出在'json'數組上,而不是數組'array'。 OP在本地使用'array',這是更好的 –

+0

它使用相同的值創建x次數組:/我仍然有它多於1。我仍然在嘗試:) –

+1

它在這裏有什麼不同?全局聲明爲空並重新聲明? –