多维数组求和函数

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

相关推荐
闲人编程3 分钟前
CAPL概述与环境搭建
开发语言·自动化测试·数据分析·capl·canoe·故障注入·canalyzer
网硕互联的小客服18 分钟前
云服务器加了安全组端口还是无法访问
开发语言·php
倔强的石头10628 分钟前
【C++经典例题】求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句
开发语言·c++
你挚爱的强哥29 分钟前
基于element UI el-dropdown打造表格操作列的“更多⌵”上下文关联菜单
javascript·vue.js·elementui
九离十31 分钟前
C语言教程——指针进阶(1)
c语言·开发语言
DevOpsDojo35 分钟前
Julia语言的软件工程
开发语言·后端·golang
编程|诗人41 分钟前
Kotlin语言的数据结构
开发语言·后端·golang
羊小猪~~1 小时前
C/C++语言基础--C++STL库算法记录(质变算法、非质变算法、查找、排序、排列组合、关系算法、集合算法、堆算法等)
c语言·开发语言·数据结构·c++·算法·stl
2401_898410691 小时前
JavaScript语言的学习路线
开发语言·后端·golang
luochen330x1 小时前
C++类的引入
java·开发语言