简体   繁体   中英

javascript function returns unexpected undefined

I must have missed something stupid but why is sumArray returning undefined ???

<script>

    function sumArray(arr, n, sum){
        if(n == 0){
            console.log( arr[0] + sum ); // log shows 15 as expected
            return  arr[0] + sum;        // the function would return undefined
        }else{
            sum = sum + arr[n-1];
            sumArray(arr, n-1, sum); 
        }
    }

    var arr1 = [0,1,2,3,4,5];
    var result = sumArray(arr1, arr1.length, 0)

    console.log(result); // returns Undefined !!!

</script>

change:

else{
    sum = sum + arr[n-1];
    sumArray(arr, n-1, sum); 
}

to

else{
  sum = sum + arr[n-1];
  return sumArray(arr, n-1, sum); //return the function
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM