多维数组求和函数

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

相关文章
|
机器学习/深度学习 数据处理 C语言
numpy通用函数:快速的逐元素数组函数
numpy通用函数:快速的逐元素数组函数
106 0
numpy通用函数:快速的逐元素数组函数
|
10天前
使用多维数组将两个矩阵相加
【10月更文挑战第30天】使用多维数组将两个矩阵相加。
21 2
|
4月前
|
算法 测试技术 PHP
通过阶乘获取一个一维PHP数组中全部的组合情况
在PHP中,`FactorialHandler`类通过递归实现了数组的全组合,`getArrAllCombineByFactor`方法逐个添加元素至所有子组合中。示例代码展示了一个包含组合生成的过程,输出了所有可能的排列。此外,还提供了一个深度优先搜索的递归函数`depth_picker`,用于生成数组的所有组合,从选择单个元素到选择所有元素。这两个示例揭示了递归在处理数组组合问题中的应用,常见于算法设计和测试用例生成。
23 0
通过阶乘获取一个一维PHP数组中全部的组合情况
|
6月前
|
索引
238.除自身以外数组的乘积
238.除自身以外数组的乘积
30 0
|
6月前
|
算法 前端开发
数组归约运算
数组归约运算
36 0
第3章 数组与矩阵——3.1 数组运算(2)
第3章 数组与矩阵——3.1 数组运算(2)
第3章 数组与矩阵——3.1 数组运算(1)
第3章 数组与矩阵——3.1 数组运算(1)
|
机器学习/深度学习 资源调度 算法
第3章 数组与矩阵——3.4 矩阵运算(2)
第3章 数组与矩阵——3.4 矩阵运算(2)
|
机器学习/深度学习 前端开发 rax
第3章 数组与矩阵——3.4 矩阵运算(1)
第3章 数组与矩阵——3.4 矩阵运算(1)