- function sumOfMultiDimensionalArray(arr) {
- let sum = 0;
-
- function recursiveSum(array) {
- array.forEach((element) => {
- if (Array.isArray(element)) {
- recursiveSum(element);
- } else {
- sum += element;
- }
- });
- }
-
- recursiveSum(arr);
- return sum;
- }
-
- const arr = [
- [1, 2, 3],
- [4, [5, 6]],
- [
- [7, 8],
- [9, [10, 11]],
- ],
- ];
-
- const result = sumOfMultiDimensionalArray(arr);
- console.log(result); // 输出:66
这个函数接收一个多维数组作为参数,并声明了一个局部变量用于保存累加结果。然后,递归遍历数组的每个元素。
在这个函数中,使用 forEach 方法对数组进行遍历。对于每个遍历到的元素,首先检查它是否为数组。如果是数组,则递归调用函数,以处理嵌套的子数组;如果不是数组,即为数值,则将其累加到 sum 变量上。
通过递归地调用函数,可以实现对多维数组的深度优先遍历。当遍历完成后,sum 变量中存储的即为多维数组中所有数值的总和。