首页 > 其他分享 >写一个获取数组的最大值、最小值的方法

写一个获取数组的最大值、最小值的方法

时间:2025-01-13 09:37:31浏览次数:1  
标签:min max 最大值 最小值 数组 Math

在前端开发中,获取数组的最大值和最小值是一个常见的需求。你可以使用JavaScript的Math.max()Math.min()函数结合扩展运算符(...)来实现这个功能。以下是一个简单的示例:

function getMaxAndMin(arr) {
  if (!Array.isArray(arr) || arr.length === 0) {
    return { max: null, min: null };
  }

  const max = Math.max(...arr);
  const min = Math.min(...arr);

  return { max, min };
}

// 示例用法
const numbers = [4, 2, 9, 7, 5, 1];
const { max, min } = getMaxAndMin(numbers);
console.log('最大值:', max); // 输出: 9
console.log('最小值:', min); // 输出: 1

在这个示例中,getMaxAndMin函数接受一个数组作为参数。首先,它检查输入是否为非空数组。如果不是,它返回一个包含null值的对象。然后,它使用Math.max()Math.min()函数结合扩展运算符来计算数组的最大值和最小值。最后,它返回一个包含最大值和最小值的对象。

这种方法在处理包含数字的数组时非常有效。但请注意,如果数组中包含非数字元素,Math.max()Math.min()函数会将它们转换为NaN(非数字值)。因此,在使用此方法之前,请确保数组仅包含数字元素。如果需要处理包含非数字元素的数组,你可能需要在计算之前先对数组进行过滤或验证。

标签:min,max,最大值,最小值,数组,Math
From: https://www.cnblogs.com/ai888/p/18667875

相关文章

  • 树状数组【模板】
    https://www.luogu.com.cn/problem/P3374#include<bits/stdc++.h>usingnamespacestd;#defineendl'\n'#definelowbit(x)x&(-x)usingll=longlong;usingpii=pair<int,int>;constdoublePI=acos(-1);constintN=5e5+10......
  • 算法-查找滑动窗口中的最大值-Go(滑动窗口)
    题目给定一个长度为n的数组num和滑动窗口的大小size,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5};针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个:{[2,3,4],2,6,2,5,1},{......
  • 算法-在数组中获取制定值的索引值-php(二分法)
    算法-在数组中获取制定值的索引值-php(二分法)<?php/***代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可***@paramnumsint整型一维数组*@paramtargetint整型*@returnint整型*/functionsearch($nums,$target){//......
  • 力扣-数组-219 存在重复元素Ⅱ
    解析同上一篇《力扣-数组-217存在重复元素》存储在重复元素的思路,重点是放在结构体里,保存之前的下标即可。代码classSolution{public:structmyNode{intindex;intvalue;};staticboolcmp(myNodea,myNodeb){return......
  • 算法4:长度最小的子数组
    一、前言题目链接:力扣题目链接给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl,numsl+1,...,numsr-1,numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。示例1:输入:tar......
  • 算法3:有序数组的平方
    一、前言题目链接:力扣题目链接给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]示......
  • 数组操作
    一、遍历数组使用标准的for循环可以完成一个数组的遍历:点击查看代码//遍历数组publicclassMain{publicstaticvoidmain(String[]args){int[]ns={1,4,9,16,25};for(inti=0;i<ns.length;i++){intn=ns[i];......
  • 数据结构与算法之二叉树: LeetCode 108. 将有序数组转换为二叉搜索树 (Ts版)
    将有序数组转换为二叉搜索树https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree/description/描述给你一个整数数组nums,其中元素已经按升序排列请你将其转换为一棵平衡二叉搜索树示例1输入:nums=[-10,-3,0,5,9]输出:[0,-3,9,-10,nul......
  • 【练习】力扣 热题100 最大子数组和
    题目给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。示例2:输入:nums=[1]输出:......
  • 用递归算法实现,数组长度为5且元素的随机数在2-32间不重复的值
    在前端开发中,可以使用JavaScript来生成一个长度为5的数组,数组中的元素是2到32之间的不重复随机数。递归算法可以用来确保生成的随机数是唯一的,即数组中不会出现重复的值。以下是一个可能的实现:functiongenerateUniqueRandomNumbers(arr,min,max,length){if(arr.length>......