JavaScript 数组操作和数学计算

计算数组平均值

使用 reduce 方法

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
const average = sum / numbers.length;
console.log(average); // 输出: 3

使用 forEach 方法

const numbers = [1, 2, 3, 4, 5];
let sum = 0;
numbers.forEach(number => sum += number);
const average = sum / numbers.length;
console.log(average); // 输出: 3

使用 mapreduce 方法

const numbers = [1, 2, 3, 4, 5];
const sumAndCount = numbers.reduce((acc, val) => {acc.sum += val;acc.count++;return acc;
}, { sum: 0, count: 0 });
const average = sumAndCount.sum / sumAndCount.count;
console.log(average); // 输出: 3

获取数组最大值

使用 Math.maxapply

const numbers = [1, 2, 3, 4, 5];
const max = Math.max.apply(null, numbers);
console.log(max); // 输出: 5

使用 Math.max 和扩展运算符

const numbers = [1, 2, 3, 4, 5];
const max = Math.max(...numbers);
console.log(max); // 输出: 5

使用 reduce 方法

const numbers = [1, 2, 3, 4, 5];
const max = numbers.reduce((a, b) => Math.max(a, b));
console.log(max); // 输出: 5

使用 sort 方法

const numbers = [1, 2, 3, 4, 5];
numbers.sort((a, b) => b - a);
const max = numbers[0];
console.log(max); // 输出: 5

使用 for 循环

const numbers = [1, 2, 3, 4, 5];
let max = numbers[0];
for(let i = 1; i < numbers.length; i++) {if(numbers[i] > max) {max = numbers[i];}
}
console.log(max); // 输出: 5

计算次方

使用 Math.pow

const base = 2;
const exponent = 3;
const result = Math.pow(base, exponent);
console.log(result); // 输出: 8

使用 ** 运算符

const base = 2;
const exponent = 3;
const result = base ** exponent;
console.log(result); // 输出: 8

获取二维数组内层最小数组的长度

const arrayOfArrays = [[1, 2, 3], [1, 2], [1, 2, 3, 4, 5], [1]];
const minLength = arrayOfArrays.reduce((min, arr) => {return Math.min(min, arr.length);
}, Infinity);
console.log(minLength); // 输出: 1

或者使用 mapMath.min

const arrayOfArrays = [[1, 2, 3], [1, 2], [1, 2, 3, 4, 5], [1]];
const lengths = arrayOfArrays.map(arr => arr.length);
const minLength = Math.min(...lengths);
console.log(minLength); // 输出: 1

以上内容涵盖了在 JavaScript 中对数组进行操作和计算的一些基本知识点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/29392.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字符串格式化的精度控制

我们可以用辅助符号m.n来控制宽度和精度&#xff0c;m控制宽度&#xff0c;若是宽度小于数字本身&#xff0c;不生效。 n控制小数点精度&#xff0c;要求是数字&#xff0c;会进行小数的四舍五入例如%5d&#xff08;数字宽度为5空格空格111&#xff09;&#xff0c;%2.3f&…

汇编语言程序设计 - 输入两个字数据(16位的数)X,Y,计算Z=X+Y,并把Z的结果显示出来

80x86汇编习题 题目描述&#xff1a;输入两个字数据&#xff08;16位的数&#xff09;X,Y&#xff0c;计算ZXY&#xff0c;并把Z的结果显示出来。提示&#xff1a;X&#xff0c;Y的输入可以是任何进制。 思路&#xff1a; 1&#xff0c;总共输入两个数 2&#xff0c;每个数…

Python兴趣编程百例:手把手带你开发一个图片转字符图的小工具

在数字世界的无尽探索中&#xff0c;我们时常被那些看似平凡的技术所启发&#xff0c;它们如同星辰般点缀着我们的创意天空。今天&#xff0c;我突发奇想&#xff0c;想要用Python开发一个将图片转化为字符画的小工具。这不仅是一次技术的实践&#xff0c;更是一场艺术与科技的…

多客陪玩系统源码支持二次开发陪玩预约系统搭建,打造专业游戏陪玩平台

简述 随着电竞行业的快速发展&#xff0c;电竞陪玩APP正在逐渐成为用户在休闲娱乐时的首选。为了吸引用户和提高用户体验&#xff0c;电竞陪玩APP开发需要定制一些特色功能&#xff0c;并通过合适的盈利模式来获得收益。本文将为您介绍电竞陪玩APP开发需要定制的特色功能以及常…

LiveCharts2:简单灵活交互式且功能强大的.NET图表库

前言 之前的文章中提到过ScottPlot、与oxyplot&#xff0c;这两个是比较常用的.NET图表库&#xff0c;今天介绍一款新的.NET图表库&#xff1a;LiveCharts2。 LiveCharts2介绍 LiveCharts2 是一个现代化的数据可视化库&#xff0c;用于创建动态和交互式图表&#xff0c;支持…

编程输出中间变量:深度解析与实战应用

编程输出中间变量&#xff1a;深度解析与实战应用 在编程过程中&#xff0c;中间变量是一个至关重要的概念。它们不仅有助于我们更好地理解和组织代码&#xff0c;还能提高程序的效率和可读性。那么&#xff0c;编程输出中间变量究竟是什么呢&#xff1f;本文将从四个方面、五…

一小时搞定JavaScript(2)——DOM与BOM的应用

前言,本篇文章是依据bilibili博主(波波酱老师)的学习笔记,波波酱老师讲的很好,很适合速成!!! 本篇文章会与java进行对比学习,因为JS中很多语法和java是相同的,所以大家最好熟悉Java语言后再来进行学习,效果更佳,见效更快. 文章目录 5.DOM和BOM5.1 DOM5.1.1传统元素获取5.1.2 C…

upload.dragger组件 拖拽上传到上传区域外时,浏览器自带下载、预览文件,如何禁止该默认事件【一步解决】

只需在非上传区域加下面两个事件&#xff0c;阻止默认行为 onDragOver{(e: any) > e.preventDefault()}//阻止浏览器默认拖拽下载事件onDrop{(e: any) > e.preventDefault()}>例如&#xff0c;我的拖拽上传区域在Modal内部&#xff0c;在modal外部加一个div 并指定上…

高考志愿填报,是选好专业,还是选好学校?过来人给你说说

分数限制下&#xff0c;选好专业还是选好学校&#xff1f; 到底是先选专业还是先选学校&#xff0c;是让考生及家长一直拿不准、辨不清的问题&#xff0c;是优先考虑学校还是专业&#xff0c;上了好学校&#xff0c;专业不喜欢就业前景不理想&#xff0c;怎么办&#xff1f;为…

【未来已来】AI大模型革命:向量数据库如何重塑智能世界?

在人工智能的浪潮中,向量数据库正成为推动AI大模型发展的幕后英雄。这不是简单的技术升级,而是一场关于智能未来的革命。本文将带您深入了解向量数据库如何成为AI大模型的核心竞争力,以及它如何助力我们在智能化的道路上加速前进。 向量数据库:AI大模型的心脏 想象一下…

vue echarts画多柱状图+多折线图

<!--多柱状图折线图--> <div class"echarts-box" id"multiBarPlusLine"></div>import * as echarts from echarts;mounted() {this.getMultiBarPlusLine() },getMultiBarPlusLine() {const container document.getElementById(multiBar…

Vue 3 的各生命周期使用场景

Vue 3 的生命周期相比于 Vue 2 有所不同&#xff0c;主要是因为 Vue 3 引入了 Composition API&#xff0c;改变了组件的书写方式和生命周期的调用顺序。以下是 Vue 3 中常用的生命周期钩子及其使用场景的通俗解释&#xff1a; ** 更新阶段 ** onBeforeUpdate 什么时候调用&a…

图书管理系统代码(Java)

1、运行演示 QQ2024528-205028-HD 详细讲解在这篇博客&#xff1a;JavaSE&#xff1a;图书管理系统-CSDN博客 2、所建的包 3、Java代码 3.1 book包 3.1.1 Book类代码 package book;/*** Created with IntelliJ IDEA.* Description:* User: dings* Date: 2024-05-13* Time:…

MyBatis 自定义映射 ResultMap:字段与属性的映射详解

在 MyBatis 框架中&#xff0c;ResultMap是一个非常强大的功能&#xff0c;它允许我们自定义SQL查询结果与Java对象之间的映射关系。特别是在数据库字段名和Java对象属性名不一致时&#xff0c;ResultMap能够帮助我们精确地映射数据。 ResultMap 的基本使用 若字段名和实体类…

量化交易之日内回转策略:如何利用MACD指标实现盈利?

哈喽,大家好,我是木头左! 日内回转策略是一种短线交易策略,其核心思想是在一天内通过买入和卖出股票来实现利润。这种策略的主要优点是可以在短期内获取较高的收益,同时风险相对较小。日内回转策略主要适用于个股波动较大、流动性较好的股票。本文将详细介绍日内回转策略的…

押注“人类终极能源”!OpenAI与核聚变公司Helion Energy洽谈“购买大量”聚变能源

内容提要 在当下&#xff0c;由 AI 引发的新一轮能源危机已经不再是一个小概率的“黑天鹅”事件&#xff0c;而是一头正在向我们猛冲而来的“灰犀牛”。 文章正文 Helion Energy&#xff0c;是一家总部位于美国华盛顿州埃弗雷特的能源创业公司。 这家成立于 2013 年的公司在…

GPU性能相关的工具

GPU性能相关的工具 GPU的性能测试工具比较多&#xff0c;已知的各个开发厂家是有自己开发的性能测试工具&#xff0c;一般市场上开源或通用的性能测试工具&#xff0c;主要是跑定制的渲染场景&#xff0c;统计平均帧率&#xff0c;经过包装得到跑分值。 整体上可以分成两类&am…

华为Atlas NPU ffmpeg 编译安装

处理器&#xff1a;鲲鹏920 NPU&#xff1a;昇腾 310P3 操作系统&#xff1a;Kylin Linux Advanced Server V10 CANN&#xff1a;Ascend-cann-toolkit_8.0.RC1_linux-aarch64.run FFmpeg&#xff1a;AscendFFmpegPlugin(不要用AscendFFmpeg) AscendFFmpegPlugin下载地址&…

安卓实现圆形按钮轮廓以及解决无法更改按钮颜色的问题

1.实现按钮轮廓 在drawable文件新建xml文件 <shape xmlns:android"http://schemas.android.com/apk/res/android"<!--实现圆形-->android:shape"oval"><!--指定内部的填充色--><solid android:color"#FFFFFF"/><!-…

【挑战100天首通《谷粒商城》】-【第一天】06、环境-使用vagrant快速创建linux虚拟机

文章目录 课程介绍1、安装 linux 虚拟机2、安装 VirtualBoxStage 1&#xff1a;开启CPU虚拟化Stage 2&#xff1a;下载 VirtualBoxStage 2&#xff1a;安装 VirtualBoxStage 4&#xff1a;安装 VagrantStage 4-1&#xff1a;Vagrant 下载Stage 4-2&#xff1a;Vagrant 安装Stag…