网站首页 > 技术文章 正文
求数组最大值、最小值和平均数是比较常见的操作,本文主要介绍javascript实现数组计算最常用的几种方法,需要的朋友们可以一起来学习学习。
方法一:用sort方法排序来完成
比值函数排序,然后取出最大,最小值,最大最小为数组下标第一个和最后一个。(注意:此方法效率低)
举例:
let arr = [1, 7, 3, 4, 5];
// 最大值
let maxNum = arr.sort((a, b) => a - b)[0]
// 最小值
let minNum = arr.sort((a, b) => b - a)[0]
// 平均数
let averageNum = arr.reduce((a, b) => a + b) / arr.length
方法二:用Math方法
用Math.max.apply取最大,同理min取最小。
举例:
var numbers = [5, 6, 2, 3, 7];
var max = Math.max.apply(null, numbers); //基本等同于 Math.max(numbers[0], ...) 或 Math.max(5, 6, ..)
var min = Math.min.apply(null, numbers);
方法三:对比:简单循环算法
max = -Infinity, min = +Infinity; //Infinity表示为无穷大
for (var i = 0; i < numbers.length; i++) {
if (numbers[i] > max)
max = numbers[i];
if (numbers[i] < min)
min = numbers[i];
}
方法四:常用求平均值方法
var num=[5,8,2,3,7,6,9,1,4,8,3,0];
var avg = 0;
var sum = 0;
for(var i = 0; i < num.length; i++)
{
sum += num[i];
}
avg = sum/num.length;
document.write("平均值:" + avg);
猜你喜欢
- 2024-11-21 浅析GIF 格式图片的存储与解析
- 2024-11-21 如何用2 KB代码实现3D赛车游戏?2kPlus Jam大赛了解一下
- 2024-11-21 快速了解ES6的代理与反射
- 2024-11-21 「实战」蘑菇街 PC 端首页,瀑布流布局的实现原理与细节技巧
- 2024-11-21 Knative 驾驭篇:带你 '纵横驰骋' Knative 自动扩缩容实现
- 2024-11-21 ECMAScript 6使用教程总结
- 2024-11-21 一道二进制子串算法,让面试官都解不出来?
- 2024-11-21 高级前端进阶,为什么要使用call、apply、bind?
- 2024-11-21 碎片时间学编程「202]:分组数组元素
- 2024-11-21 从入门到入土:Lambda完整学习指南,包教包会(上)
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-