2015-10-06 57 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

它在这里有什么不同?全局声明为空并重新声明? –