2017-06-09 85 views
0

我是一个JavaScript的新手,试着用它。为什么我的javascript函数只返回一个数组的第一项?

我写了2个函数。

第1个函数返回一个数组数组,第2个循环遍历数组,并对数组进行求和,但不是这样,它仅返回数组的第一个项。为什么?

function addWorth() 
    { 


     var table1= document.getElementById("tableNetWorths"); 

     var rowCount1= table1.rows.length; 

     //var row1= table1.insertRow(rowCount1); 


     var arr= []; 


     for(var count = 0; count < rowCount1; count++) 
     {  
      arr.push(table1.rows[count].cells[1].innerHTML);   
     } 


     arr.shift(); 
     return arr; 

    } 

    function showWorthSum() 
    { 
     var returnedArr= []; 

     returnedArr.push(addWorth()); 

     totalWorth= 0; 

     var arrCount= returnedArr.length; 

     for(var count = 0; count < arrCount; count++) 
     {  
      totalWorth= parseInt(totalWorth)+ parseInt(returnedArr[count]); 

     } 

     return parseInt(totalWorth); 
    } 

按钮:

<button class="btn btn-primary" onclick="document.write(showWorthSum())" type="button">Show Sum</button> 

阵列:

100,200,344,22,122,99

+0

你能表现出一定的表HTML? – MaxZoom

+1

@Covert我想你想要的是var returnedArr = addWorth() – hack3rfx

+0

@ hack3rfx谢谢,但我没有得到它背后的原因?为什么数组变量会失败? – Covert

回答

3

这应该可以解决这个问题:

var returnedArr = addWorth(); 
+0

非常感谢,但是原因是什么? – Covert

+0

'[[100,200,344,...]]'vs'[100,200,344,...]' –

+0

如果按下,您将有一个包含一个元素的数组。元素本身将具有返回数组的值。当你循环返回数组元素时,你不需要这样做。 – MaxZoom

相关问题