当前位置: 首页 > news >正文

数组求和方法总结,学点干货

1.循环 (新手用)

1.1 普通for 循环

简单质朴

    const arr = [1, 2, 3, 4, 5];let sum = 0;for (let i = 0; i < arr.length; i++) {sum += arr[i];}

1.2 for in 循环

与普通for循环大同小异

   const arr = [1, 2, 3, 4, 5];let sum = 0;for (let i in arr) {sum += arr[i];}

1.3 for of 循环

与for in区别,一个拿索引,一个拿具体值。

  const arr = [1, 2, 3, 4, 5];let sum = 0;for (let item of arr) {sum += item;}

2.数组的API方法(进阶)

2.1 forEach

 let sum = 0;arr.forEach((item) => {sum += item;});

2.2 map

可以但没必要,map的规范需要有返回值,不建议使用

   let sum = 0;arr.map((item) => {sum += item;});

2.3 reduce

简洁好用,装逼用,最推荐的做法

浅浅的解析一下:
reduce方法接收一个带参函数,第一个参数t初始值0,第二个参数表示当前遍历到的值。
return toatal +cur
相当于 total += cur return total
直到把arr遍历完,reduce会结束。
看不懂找详细解析或者就硬记吧。

   const sum = arr.reduce((total, cur) => {return total + cur;});

3. eval方法

投机取巧,灰常好用。最简洁的方法,不过小心有兼容问题,且当数组只有1个数的时候不可用。
原理:eval可以把字符串当表达式执行,并返回执行的结果。

    const arr = [1, 2, 3, 4, 5];const sum = eval(arr.join("+"));

4.递归

可以装逼,捋一捋算法逻辑。不然没必要这么写,最不推荐的方法

    const arr = [1, 2, 3, 4, 5];const getSum = (arr, sum = 0) => {if (arr.length > 0) {sum += arr[0];arr.shift();return getSum(arr, sum);} else {return sum;}};const sum = getSum(arr, 0);
http://www.lryc.cn/news/17185.html

相关文章:

  • 斗地主洗牌发牌-课后程序(JAVA基础案例教程-黑马程序员编著-第六章-课后作业)
  • 基于antd封装的二次业务筛选组件-table-filter
  • 逆向-还原代码之max 再画堆栈图 (Interl 64)
  • GitHub标星30K+的Java面试八股文长啥样?
  • CVE-2022-39197 POC(CobaltStrike XSS <=4.7)漏洞复现
  • 我们来说说蹿红的AIGC到底是什么?ChatGPT又是什么?
  • 新手如何从零开始搭建配置Windows云服务器?
  • 百趣代谢组学-抑郁症居然“男女有别”,脑膜淋巴管起关键作用!
  • C语言实现用堆解决 TOP-K 问题
  • MySQL 数据库基础命令
  • 说一下this,实现apply、call
  • 华为OD机试真题Python实现【总最快检测效率】真题+解题思路+代码(20222023)
  • 【历史上的今天】2 月 23 日:Enigma 密码机申请专利;戴尔电脑创始人出生;Mellanox 收购 EZchip
  • 新手入门吉他推荐,第一把吉他从这十款选绝不踩雷!初学者吉他选购指南【新手必看】
  • XSS注入进阶练习篇(三) XSS原型链污染
  • 【Java基础 下】 025 -- 阶段项目(斗地主)
  • 华为OD机试真题Python实现【矩阵最值】真题+解题思路+代码(20222023)
  • TypeScript笔记(三)
  • C++(41)-低版本升级到VS2019项目时遇到的问题(2)
  • git 实战应用
  • Linux重启命令shutdown与reboot
  • 华为OD机试真题 用 C++ 实现 - 静态扫描最优成本
  • 拿下宁王、迪王的湖南裕能,还能“狂飙”多远?
  • STM32FreeRTOS - 按键实现任务挂起和恢复
  • 华为OD机试真题Python实现【判断牌型】真题+解题思路+代码(20222023)
  • Kafka(7):生产者详解
  • FPGA纯verilog代码实现H.264/AVC视频解码,提供工程源码和技术支持
  • 通俗神经网络
  • 网络工程(一) 简单的配置
  • 深度剖析数据在内存中的存储(上)