多维数组求和函数

简介: 多维数组求和函数
原理:通过深度优先遍历来遍历多维数组中的所有元素,并将数值进行累加。
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 变量中存储的即为多维数组中所有数值的总和。

相关文章
|
11月前
|
机器学习/深度学习 数据处理 C语言
numpy通用函数:快速的逐元素数组函数
numpy通用函数:快速的逐元素数组函数
numpy通用函数:快速的逐元素数组函数
|
1月前
|
算法 测试技术 PHP
通过阶乘获取一个一维PHP数组中全部的组合情况
在PHP中,`FactorialHandler`类通过递归实现了数组的全组合,`getArrAllCombineByFactor`方法逐个添加元素至所有子组合中。示例代码展示了一个包含组合生成的过程,输出了所有可能的排列。此外,还提供了一个深度优先搜索的递归函数`depth_picker`,用于生成数组的所有组合,从选择单个元素到选择所有元素。这两个示例揭示了递归在处理数组组合问题中的应用,常见于算法设计和测试用例生成。
16 0
通过阶乘获取一个一维PHP数组中全部的组合情况
|
3月前
|
算法 前端开发
数组归约运算
数组归约运算
25 0
|
11月前
第3章 数组与矩阵——3.1 数组运算(2)
第3章 数组与矩阵——3.1 数组运算(2)
|
11月前
|
存储
第3章 数组与矩阵——3.1 数组运算(1)
第3章 数组与矩阵——3.1 数组运算(1)
|
11月前
|
存储
第3章 数组与矩阵——3.3 矩阵元素的运算(1)
第3章 数组与矩阵——3.3 矩阵元素的运算(1)
|
11月前
第3章 数组与矩阵——3.3 矩阵元素的运算(2)
第3章 数组与矩阵——3.3 矩阵元素的运算(2)
二维数组求和 练习
二维数组求和 练习
59 0
|
C语言
c 语言 数组(一维)做函数参数
函数调用时,实参是给形参初始化,所以,实参传递什么类型的数据,形参就以什么类型去接住。比如一维数组,如下: 函数 fun1 传递 a, 因为数组名就是数组的首地址,所以用 ***int * p***形参。
81 0