多维数组求和函数

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

相关推荐
lly2024061 分钟前
Julia 的复数和有理数
开发语言
春日见2 分钟前
如何提升手眼标定精度?
linux·运维·开发语言·数码相机·matlab
Roc.Chang6 分钟前
终极指南:解决 Vue 项目中 “regenerator-runtime/runtime“ 缺失报错
前端·javascript·vue.js·webpack·前端工程
AAA阿giao7 分钟前
从树到楼梯:数据结构与算法的奇妙旅程
前端·javascript·数据结构·学习·算法·力扣·
古城小栈7 分钟前
Java 响应式编程:Spring WebFlux+Reactor 实战
java·开发语言·spring
攻心的子乐9 分钟前
sentinel使用指南 限流/熔断 微服务 ruoyi-cloud使用了
java·开发语言
BD_Marathon10 分钟前
Vue3组件(SFC)拼接页面
前端·javascript·vue.js
点云SLAM11 分钟前
C++ 偏特化详解
开发语言·c++·c++模板·c++17·c++高级应用·c++偏特化·大型项目
wregjru11 分钟前
【C++】2.3 二叉搜索树的实现(附代码)
开发语言·前端·javascript
坐吃山猪13 分钟前
Python命令行工具Fire
linux·开发语言·python