在javascript中递归添加数组元素会将它们连接起来

在javascript中递归添加数组元素会将它们连接起来,javascript,arrays,recursion,Javascript,Arrays,Recursion,我试图在javascript中添加2D数组的元素,这些元素基于使用递归的一些逻辑。我惊讶地发现,它不是将数字相加,而是将它们串联起来。我的意思是说变量“sum”的内容不是元素的和,而是元素的串联。有人能帮我吗?请告诉我我犯的错误 var globearr=[]; var stock=0; var sum=0; var some=["3#44#75","21#98#60"]; leastAmount(some); function recur(myArr,i,j,row,col){ if(

我试图在javascript中添加2D数组的元素,这些元素基于使用递归的一些逻辑。我惊讶地发现,它不是将数字相加,而是将它们串联起来。我的意思是说变量“sum”的内容不是元素的和,而是元素的串联。有人能帮我吗?请告诉我我犯的错误

var globearr=[];
var stock=0;
var sum=0;
var some=["3#44#75","21#98#60"];
leastAmount(some);
function recur(myArr,i,j,row,col){
    if(i===row-1&&j===col-1){

    sum=sum+myArr[i][j];
    globearr[stock++]=sum;
    return 0;
    }
    else if(i===row-1 && j!== col-1){

    sum=sum+myArr[i][j];
    recur(myArr,i,j+1,row,col);
    }
    else if(i!==row-1 && j=== col-1){

    sum=sum+myArr[i][j];
    recur(myArr,i+1,j,row,col);
    }
    else
    {

    sum=sum+myArr[i][j];
    recur(myArr,i,j+1,row,col);
    recur(myArr,i+1,j,row,col);
    }   
}

function leastAmount(input1)
    { //some code goes here setting up row and col and temparr[]//     
    var myArr=new Array(row);    
    for(i=0;i<row;i++){
    myArr[i]=new Array(col);
    }  
    y=0;        
    for(i=0;i<row;i++){        
        for(j=0;j<col;j++){
            myArr[i][j]=temparr[y++];
        }
    }

    recur(myArr,0,0,row,col);
    var start=globearr[0];
    var count=globearr.length;
        for(i=1;i<count;i++){
        if(start>globearr[i])
        {
            start=globearr[i];
        }
        }

        alert(start);
} 
var globearr=[];
var股票=0;
var总和=0;
var some=[“3#44#75”,“21#98#60”];
莱斯塔蒙特(部分);
函数递归(myArr、i、j、row、col){
如果(i==第1行和&j==第1列){
sum=sum+myArr[i][j];
globearr[stock++]=总和;
返回0;
}
else if(i==行1&&j!==列1){
sum=sum+myArr[i][j];
复发(myArr,i,j+1,row,col);
}
如果(i!==row-1&&j===col-1){
sum=sum+myArr[i][j];
复发(myArr,i+1,j,row,col);
}
其他的
{
sum=sum+myArr[i][j];
复发(myArr,i,j+1,row,col);
复发(myArr,i+1,j,row,col);
}   
}
函数leastAmount(输入1)
{//这里有些代码设置行、列和temparr[]//
var myArr=新数组(行);

对于(i=0;i对每个整数运算使用parseInt(),仅从读取代码中我并不真正了解它在做什么,但我怀疑可能是错误的,如果您使用的是
+
运算符,并且其中一个操作数是字符串,它们将连接而不是添加。您可以使用
typeof
进行检查,或
parseInt()
转换为数字类型。