数组求和方法总结,学点干货
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);
相关文章:
数组求和方法总结,学点干货
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 …...
斗地主洗牌发牌-课后程序(JAVA基础案例教程-黑马程序员编著-第六章-课后作业)
【案例6-4】 斗地主洗牌发牌 【案例介绍】 1.任务描述 扑克牌游戏“斗地主”,相信许多人都会玩,本案例要求编写一个斗地主的洗牌发牌程序,要求按照斗地主的规则完成洗牌发牌的过程。一副扑克总共有54张牌,牌面由花色和数字组成…...
基于antd封装的二次业务筛选组件-table-filter
文档地址:https://flowerofsummer.github.io/components/ 业务筛选组件 支持各种类型的高级搜索组件 基础用法 组件响应式布局,默认显示两行,可以通过 maxLineCount 配置最多显示行数每行个数: 如果含有 time-range࿰…...
逆向-还原代码之max 再画堆栈图 (Interl 64)
// source code #include <stdio.h> void max(int * a, int * b) { if (*a < *b) *a *b; } int main() { int a 5, b 6; max(&a, &b); printf("a, b max %d\n", a); return 0; } // 再画堆栈图 下周一(2.27…...
GitHub标星30K+的Java面试八股文长啥样?
2023年的互联网行业竞争越来越严峻,面试也是越来越难,一直以来我都想整理一套完美的面试宝典,奈何难抽出时间,这套1000道的Java面试手册我整理了整整1个月,上传到Git上目前star数达到了30K 一、32 道 MySQL 面试题 1&…...
CVE-2022-39197 POC(CobaltStrike XSS <=4.7)漏洞复现
漏洞说明 根据9.20日CobaltStrike官方发布的最新4.7.1版本的更新日志中介绍,<4.7的teamserver版本存在XSS漏洞,从而可以造成RCE远程代码执行 一位名为“Beichendream”的独立研究人员联系我们,告知我们他们在团队服务器中发现的一个 XSS …...
我们来说说蹿红的AIGC到底是什么?ChatGPT又是什么?
近期,人工智能(AI)领域动作频频,OPENAI公司Chat GPT的出现,标志着人工智能的研究与应用已经进入了一个崭新的发展阶段,国内腾讯、阿里巴巴、百度、易网、国外微软、谷歌、苹果、IBM、Amazon,等互…...
新手如何从零开始搭建配置Windows云服务器?
新手如何从零开始搭建配置Windows云服务器?本文是搭建 Windows 云服务器入门教程,主要介绍如何从零开始,以最简单的方式搭建和配置你的Windows 云服务器。如果您之前没有搭建云服务器的经验,建议您按照本文介绍的方式来购买和配置…...
百趣代谢组学-抑郁症居然“男女有别”,脑膜淋巴管起关键作用!
文章标题:A functional role of meningeal lymphatics in sex difference of stress susceptibility in mice 发表期刊:Nature Communications 影响因子:17.694 发表时间:2022年8月 作者单位:中山大学中山医学院 …...
C语言实现用堆解决 TOP-K 问题
目录 TopK函数实现 如何测试 完整源码 生活中我们经常能见到TopK问题,例如:专业前10名、世界500强、富豪榜、游戏中前100的活跃玩家等。 所以,TopK问题即求出一组数据中前K个最大或最小的元素,一般情况下,数据量都…...
MySQL 数据库基础命令
MySQL 基础命令 一.了解数据库 1、了解数据库对象 1.表: 用于以有组织方式存储数据。以行和列的格式包含数据。 2.索引: 是内部表结构,MySQL 用它基于一列或多列的值来提供对表中各行的快速访问。 3.视图: 是虚拟表&#…...
说一下this,实现apply、call
理解this 在ES5中,this的指向始终坚持一个原理:“this永远指向最后调用它的那个对象”,切记这句话。下面看几个例子。 例一 var obj {name: zhangsan,say: function() {console.log(this.name);} }obj.say() // zhangsan 最基本的使用&am…...
华为OD机试真题Python实现【总最快检测效率】真题+解题思路+代码(20222023)
总最快检测效率 题目 在系统、网络均正常情况下,组织核酸采样员和志愿者对人群进行核酸检测筛查。 每名采样员的效率不同,采样效率为N人/小时。 由于外界变化,采样员的效率会以M人/小时为粒度发生变化,M 为采样效率浮动粒度, M=N*10%,输入保证N*10%的结果为整数。 采样…...
【历史上的今天】2 月 23 日:Enigma 密码机申请专利;戴尔电脑创始人出生;Mellanox 收购 EZchip
整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 2 月 23 日,在 2006 年的今天,都灵冬奥会自由式滑雪男子空中技巧决赛在意大利都灵萨奥兹杜尔克斯滑雪场举行。中国选手韩晓鹏战胜众多好…...
新手入门吉他推荐,第一把吉他从这十款选绝不踩雷!初学者吉他选购指南【新手必看】
一、新手购琴注意事项: 1、预算范围 一把合适的吉他对于初学者来说会拥有一个很好的音乐启蒙。选一款性价比高,做工材料、音质和手感相对较好的吉他自然不会是一件吃亏的事。**初学者第一把琴的预算,我觉得最低标准也是要在500元起…...
XSS注入进阶练习篇(三) XSS原型链污染
XSS原型链污染1.原型链的概念1.1 构造函数的缺点1.2 prototype 属性的作用1.3 原型链1.4 constructor属性1.5 prototype和__proto__2. 原型链污染2.1 原型链污染是什么?2.2 原型链污染的条件2.3 原型连污染实例2.3.1 hackit 20182.3.2 challenge-04223.总结1.原型链…...
【Java基础 下】 025 -- 阶段项目(斗地主)
目录 斗地主 一、斗地主游戏1 -- 准洗发(控制台版) 1、准备牌 2、洗牌 3、发牌 4、看牌 二、斗地主游戏2 -- 给牌排序①(利用序号进行排序) 2、洗牌 3、发牌 4、看牌 三、斗地主游戏2 -- 给牌排序②(给每一张牌计算价值…...
华为OD机试真题Python实现【矩阵最值】真题+解题思路+代码(20222023)
题目 给定一个仅包含0和1的n*n二维矩阵 请计算二维矩阵的最大值 计算规则如下 每行元素按下标顺序组成一个二进制数(下标越大约排在低位), 二进制数的值就是该行的值,矩阵各行之和为矩阵的值允许通过向左或向右整体循环移动每个元素来改变元素在行中的位置 比如 [1,0,1,1,1]…...
TypeScript笔记(三)
前言 上一篇文章我们主要介绍了TypeScript的基本类型boolean、number、string、void、null和undefine,还介绍了任意类型any和联合类型,这篇文章我们将会了解对象类型Interface和数组的相关知识。 对象的类型——接口 在TypeScript中,我们使…...
C++(41)-低版本升级到VS2019项目时遇到的问题(2)
1.错误码:MSB8066 代码为3 QT 项目老版本升级到新版本造成的, 1.重新加载项目: 扩展->QT VS tools->Open QT project files-> 2.添加QT模块:QT Project-Settings -> QT Modules2.无法打开QT的头文件 3.…...
DeerFlow企业级部署:支持大规模并发请求的架构升级
DeerFlow企业级部署:支持大规模并发请求的架构升级 1. 企业级部署的核心挑战 当您开始考虑将DeerFlow从个人研究助手升级为企业级应用时,第一个需要面对的问题就是并发处理能力。单个用户的研究请求可能很轻松,但当几十个甚至上百个用户同时…...
2026年4月OpenClaw怎么安装?阿里云高效方法:搭建及大模型API、Skill集成流程
2026年4月OpenClaw怎么安装?阿里云高效方法:搭建及大模型API、Skill集成流程。OpenClaw作为2026年主流的AI自动化助理平台,可通过阿里云轻量服务器实现724小时稳定运行,并快速接入钉钉,让AI在企业群聊、个人工作流中自…...
收藏!AI时代普通程序员如何转型?3-6个月快速升级指南,小白也能看懂!
AI正改变程序员行业,常规编码任务或被AI替代,但高级岗位和复合型人才需求增加。普通程序员需利用AI提升逻辑思维、问题解决和系统架构能力,转向AI/ML工程、网络安全、科技与工种复合或跨职能岗位。通过每天用AI学习、接副业单等实战方法&…...
ui-ux设计新手福音:用快马生成可运行代码,直观掌握pro-max级界面构建
作为一个刚接触UI/UX设计的新手,我常常被各种设计规范和交互逻辑搞得晕头转向。直到发现了InsCode(快马)平台,它让我通过可运行的代码示例,直观理解了专业级界面构建的全过程。今天就用一个用户登录注册界面的案例,分享我的学习心…...
洛雪音乐音源:全网无损音乐一键获取的完整指南
洛雪音乐音源:全网无损音乐一键获取的完整指南 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 还在为音乐平台会员费烦恼吗?想要免费畅听全网无损音乐吗?洛雪音…...
Redis如何断开主从同步关系_使用REPLICAOF NO ONE命令将从节点提升为独立主节点
执行REPLICAOF NO ONE后从节点未真正独立,因状态切换有延迟、需确认同步完成、配置文件残留、版本兼容性(4.x用SLAVEOF)、集群模式不支持、提升后写入风险及原主无感知。执行 REPLICAOF NO ONE 后从节点没真正“独立”?命令本身没…...
MultiTalk多GPU分布式推理:如何实现高效大规模视频生成
MultiTalk多GPU分布式推理:如何实现高效大规模视频生成 【免费下载链接】MultiTalk [NeurIPS 2025] Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation 项目地址: https://gitcode.com/gh_mirrors/mult/MultiTalk MultiTalk是一款基…...
多产品测评,聚焦16大行业核心痛点,快商通vs竞品场景化实测复盘
不同于常规综合测评,本次专项测评以“行业痛点解决能力”为核心,聚焦快商通16大垂直行业(医美、口腔、眼科等)的核心业务场景,选取3款主流竞品(通用型竞品F、医疗细分竞品G、本地生活竞品H)&…...
电子信息专业毕业生就业深度分析报告
数据来源:麦可思《2025年中国本科生就业报告》、西安电子科技大学/电子科技大学/华中科技大学/同济大学/北京邮电大学/上海科技大学2025届就业质量报告、职友集、新东方在线、凤凰网、皮书网等公开平台 更新时间:2026年4月一、行业总览:电子信…...
RK3588 Ethernet网络配置与调试实战指南
1. RK3588以太网配置基础入门 第一次拿到RK3588开发板时,很多开发者都会迫不及待地想测试网络功能。作为一款高性能处理器,RK3588通常配备双千兆以太网接口(GMAC0和GMAC1),但在实际使用前需要正确配置才能正常工作。我…...
