多维数组求和函数

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

相关推荐
李宥小哥4 分钟前
Redis10-原理-网络模型
开发语言·网络·php
利刃大大8 分钟前
【c++中间件】语音识别SDK && 二次封装
开发语言·c++·中间件·语音识别
T***u33319 分钟前
前端框架在性能优化中的实践
javascript·vue.js·前端框架
jingling5551 小时前
vue | 在 Vue 3 项目中集成高德地图(AMap)
前端·javascript·vue.js
同学小张5 小时前
【端侧AI 与 C++】1. llama.cpp源码编译与本地运行
开发语言·c++·aigc·llama·agi·ai-native
踢球的打工仔6 小时前
PHP面向对象(7)
android·开发语言·php
汤姆yu9 小时前
基于python的外卖配送及数据分析系统
开发语言·python·外卖分析
Yue丶越9 小时前
【C语言】字符函数和字符串函数
c语言·开发语言·算法
翔云 OCR API9 小时前
人脸识别API开发者对接代码示例
开发语言·人工智能·python·计算机视觉·ocr
V***u4539 小时前
MS SQL Server partition by 函数实战二 编排考场人员
java·服务器·开发语言