🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 前言 因为Math.max() 以及 Math.min() 方法中传入的应该是一组数,数组是接收不了的,所以对从数组中找最大值的方法做一些总结。 ## 方法一 apply ``` Math.max.apply(null, arr) Math.min.apply(null, arr) ``` apply方法: 语法:apply([thisObj,[argArray]]) 定义:应用某一对象的一个方法,用另一个对象替换当前对象。 说明: 如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。 如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。 ## 方法二:...操作符 ``` Math.max(…arr) Math.min(…arr) ``` …操作符 这是 es6 中的扩展运算符,可以将一个数组,变为参数序列。 ## 方法三 自定义函数,递归调用 ``` function getMax(array) { array.push(Math.max(array.pop(), array.pop())) if (array.length>1) { getMax(array) } return array[0] } function getMin(array) { array.push(Math.min(array.pop(), array.pop())) if(array.length > 1){ getMin(array) } return array[0] } ```