2011-04-05 153 views
0
var stack = new Array(); 
var ii = 0; 

function pushTutor(item) { 
var jj = stack.length; 
    for(ii=0;ii<jj;ii++) { 
     stack.push(item); 
     alert(stack); 
    } 
} 

我记得stack.length导致无法循环的问题。这是什么解决方案?for loop array length

+1

那你想干什么?为什么是循环? – kennytm 2011-04-05 09:34:47

+0

您问的解决方案有哪些问题? – deceze 2011-04-05 09:36:46

+0

这确实很奇怪:对于堆栈中的每个元素,您都会添加相同的项目,stack = [a,b,c] pushTutor(d)会给出[a,b,c,d,d,d]我猜。 – 2011-04-05 09:37:39

回答

3

呃,除了这个事实,你不需要for循环来实现你想要实现的功能,stack没有任何项目,所以它的长度是0.因此,你的循环永远不会执行。

如果你只是想推的项目,它肯定会是更好的事情可做:

function pushTutor(item) 
{ 
    stack.push(item); 
    alert(stack.length); 
    // Alerting stack here would simply alert 'array' 
} 
+1

推后,它应该提醒物品,然后物品,下次物品 – mplungjan 2011-04-05 11:31:49

1

代码没有意义。

也许你想

var stack = new Array(); 

function pushTutor(item) { 
    stack.push(item); 
    alert(stack); 
} 
0

堆栈是空的,这是一个问题。