多维数组求和函数

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

相关推荐
子兮曰6 小时前
OpenClaw架构揭秘:178k stars的个人AI助手如何用Gateway模式统一控制12+通讯频道
前端·javascript·github
冷雨夜中漫步6 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
百锦再6 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
百锦再6 小时前
React编程高级主题:测试代码
android·前端·javascript·react.js·前端框架·reactjs
颜酱8 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
m0_736919108 小时前
C++代码风格检查工具
开发语言·c++·算法
2501_944934738 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
小迷糊的学习记录8 小时前
Vuex 与 pinia
前端·javascript·vue.js
发现一只大呆瓜9 小时前
前端性能优化:图片懒加载的三种手写方案
前端·javascript·面试
黎雁·泠崖9 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言