我想总结JavaScript中的多维数组的总数,但它不提供正确的值,因为嵌套数组与总和连接。以下是我的代码:递归总结JavaScript多维数组
var arr = [1, 2, 3, [4, 3], [10, 50], 98, 100];
function recursion(array, length = 0) {
if (array.length === length) return 0;
if (Array.isArray(array[length])) {
recursion(array[length]);
}
console.log(array[length]);
return array[length] + recursion(array, length + 1);
}
console.log(recursion(arr));
错误可以在下面的屏幕截图中看到,它是google chrome的控制台。
那么,你必须第一个问题是,JavaScript不支持函数默认参数。 (至少不要以你在代码中的方式)。请参阅[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters) –
如果递归不是需要的话,你可以简单地用'concat'和'reduce'完成这个:'[] .concat(... arr).reduce((a,b)=> a + b)' –
@StephenThomas注意,'' javascript'确实支持默认参数。 – guest271314