JS实现获取数组中最大值或最小值功能示例

JS实现获取数组中最大值或最小值功能示例

获取数组中的最大值或最小值是在开发中经常用到的功能。JS提供了一些方法来实现这一功能,本文将详细介绍如何获取数组中的最大值和最小值,以及示例说明。

Array.prototype.sort()

JS提供了Array.prototype.sort() 方法来对数组中的元素进行排序,我们可以使用sort()方法将数组元素按升序或降序排列,然后获取排序后的首个元素即可获取数组的最大值或最小值。

示例一:

假设我们有一个数字数组 arr,我们想要获取其中的最大值和最小值,使用sort()方法的示例如下:

const arr = [65, 34, 12, 98, 23];
const sortedArr = arr.sort((a, b) => a - b);

console.log(sortedArr[0]); // 12
console.log(sortedArr[sortedArr.length - 1]); // 98

在上述示例中,我们对数组 arr 使用了sort()方法,sort()方法默认将数组按照字符编码的顺序进行排序,因此我们需要传入一个比较函数来按数字大小排序。在上述例子中,我们将数组升序排列后,使用sortedArr[0]获取最小值,使用sortedArr[sortedArr.length - 1]获取最大值。

示例二:

当然,我们也可以使用sort()方法的降序排列来获取最大值和最小值,示例如下:

const arr = [65, 34, 12, 98, 23];
const sortedArr = arr.sort((a, b) => b - a);

console.log(sortedArr[0]); // 98
console.log(sortedArr[sortedArr.length - 1]); // 12

在上述示例中,我们将数组降序排列后,使用sortedArr[0]获取最大值,使用sortedArr[sortedArr.length - 1]获取最小值。

Math对象的方法

JS 的 Math 对象提供了几个方法来获取数组中的最大值或最小值,这些方法在不需要排序的情况下,更加高效快捷。

示例一:

Math.max() 方法接收多个参数,然后返回这些参数中的最大值。我们可以使用Math.max.apply()方法来获取数组中的最大值。

const arr = [65, 34, 12, 98, 23];
const max = Math.max.apply(null, arr);

console.log(max); // 98

在上述示例中,我们使用Math.max.apply()方法,将数组的每个元素当做一个单独的参数传递给Math.max()方法,然后获取返回值即可。

示例二:

Math.min()方法与Math.max()方法用法类似,它可以接收多个参数,并返回这些参数中的最小值。我们同样可以结合使用Math.min.apply()获取数组中的最小值。

const arr = [65, 34, 12, 98, 23];
const min = Math.min.apply(null, arr);

console.log(min); // 12

在上述示例中,我们使用Math.min.apply()方法,将数组的每个元素当做一个单独的参数传递给Math.min()方法,然后获取返回值即可。

结语

JS提供了多种方法来获取数组中的最大值或最小值,我们可以根据实际需求选择最佳的方式来获取最大值或最小值。在使用sort()方法时,我们需要注意排序方式以及传入比较函数的规则;在使用Math对象方法时,我们需要注意参数传递的方式,以免卡死浏览器。

希望这篇文章能够帮助你更好地理解如何获取数组中的最大值或最小值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现获取数组中最大值或最小值功能示例 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • vscode中vue-cli项目es-lint的配置方法

    下面是详细讲解“vscode中vue-cli项目es-lint的配置方法”的完整攻略: 1. 安装ESLint 首先请确保你的vscode里已经安装了 ESLint 插件,如果没有安装可以在插件市场中搜索并进行安装。ESLint 是 Javascript 的语法规范,可以用于代码的静态检查,还可以进行代码风格的约束。ESLint还支持vue、react等框架…

    JavaScript 2023年6月11日
    00
  • Javascript 原型与原型链深入详解

    Javascript 原型与原型链深入详解 原型 在JavaScript中,每一个对象都有一个指向其原型的属性,称之为 __proto__,原型本身也是一个对象。在Javascript中使用函数构造对象时,函数本身也有一个原型属性,称之为 prototype。我们可以使用 Object.getPrototypeOf() 方法实现查找一个对象的原型。比如: l…

    JavaScript 2023年6月10日
    00
  • JavaScript高级程序设计 DOM学习笔记

    我将为您详细讲解“JavaScript高级程序设计 DOM学习笔记”的完整攻略。 学习JS DOM的必要性 JavaScript中,DOM(文档对象模型)是一种非常重要的知识点,它是在HTML和XML文档中操作和访问节点的API。掌握DOM可以让我们更加灵活地操作页面元素,更好地实现网页的交互效果。 学习JS DOM的入门 获取元素 在DOM中,我们首先要学…

    JavaScript 2023年5月27日
    00
  • 关于二级域名下使用一级域名下的COOKIE的问题

    关于二级域名下使用一级域名下的COOKIE的问题,涉及到跨域问题和COOKIE同源策略问题,需要进行一定的设置来保证正常的COOKIE使用。 解决方案 一种通用的解决方案是通过在一级域名下设置COOKIE的domain为一级域名的方式来解决跨域问题。具体步骤如下: 在一级域名下设置COOKIE时,需要设置domain为一级域名: document.cooki…

    JavaScript 2023年6月11日
    00
  • 如何用js判断dom是否有存在某class的值

    判断DOM中是否存在某个class可以使用JavaScript来实现,具体步骤如下: 获取要判断的DOM元素. 调用DOM元素的classList属性来获取该元素的class列表. 遍历该列表,判断是否存在目标class. 根据判断结果进行相应的处理。 下面是一些示例说明: 示例1:判断DOM元素是否存在某个class。 // 获取DOM元素 var ele…

    JavaScript 2023年6月10日
    00
  • JS字符串统计操作示例【遍历,截取,输出,计算】

    为了更好地讲解 “JS字符串统计操作示例【遍历,截取,输出,计算】”,我们首先需要了解什么是字符串以及JavaScript中的字符串操作函数。 1. 什么是字符串? 字符串就是一系列字符的集合,例如”Hello World!”就是一个字符串。在JavaScript中,字符串可以用单引号、双引号或被反斜杠包括起来。 例如: var str = ‘Hello W…

    JavaScript 2023年5月28日
    00
  • JavaScript 作用域链解析

    JavaScript 作用域链解析是指在当前作用域中查找变量时,如果找不到,就会沿着作用域链向上一层层查找,直到找到该变量或者到全局作用域仍未找到为止。 在 JavaScript 中,每个函数都有自己的作用域,即函数作用域。在函数内部定义的变量,只能在该函数内部访问,不能在函数外部访问。如果在函数外部使用该变量,就会抛出 ReferenceError 异常。…

    JavaScript 2023年6月10日
    00
  • .net使用自定义类属性实例

    关于“.Net使用自定义类属性实例”的完整攻略,可以分为以下几个部分进行讲解: 创建自定义类属性 在C#中,我们可以通过编写自定义类属性来实现我们的自定义需求。自定义类属性就是在编译时解析的,在程序运行期间会根据使用情况评估和访问属性。在此我们给出一个简单的自定义类属性的例子来说明: [AttributeUsage(AttributeTargets.All)…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部