Ahora, cada vez más personas usan los valores máximos y mínimos en una matriz, por lo que he compilado un método para que todos los usen. El código es el siguiente. Si tiene alguna pregunta, contácteme. Aprendamos y avanzemos juntos.
Echemos un vistazo al siguiente ejemplo uno:
var numreg = /^- ?`0-9font>+. numreg.test (prevalue)) {return curvalue; Prevalue;Ejemplo 2:
función getMaximin (arr, maximin) {if (maximin == "max") {return math.max.apply (math, arr); } else if (maximin == "min") {return math.min.apply (math, arr); }} var a = [3,2,4,2,2,10] var b = [12,4,45,786,9,78] alerta ("amax:" + getmaximin (a, "max") + "--- amin:" + getmaximin (a, "min") + "--- bmax:" + getMaximin (b, "max") getmaximin (b, "min")) // amax: 10 --- amin: 2 --- bmax: 786 --- bmin: 4 función getmaximin (arr, maximin) {if (maximin == "max") {return Math.max.apply (math, arr); } else if (maximin == "min") {return math.min.apply (math, arr); }} var a = [3,2,4,2,2,10] var b = [12,4,45,786,9,78] alerta ("amax:" + getmaximin (a, "max") + "--- amin:" + getmaximin (a, "min") + "--- bmax:" + getMaximin (b, "max") getmaximin (b, "min")) // amax: 10 --- amin: 2 --- bmax: 786 --- bmin: 4Veamos dos métodos más
Método 1:
// valor mínimo array.prototype.min = function () {var min = this [0]; var len = this.length; for (var i = 1; i <len; i ++) {if (this [i] <min) {min = this [i]; }} return min;} // valor máximo array.prototype.max = function () {var max = this [0]; var len = this.length; for (var i = 1; i <len; i ++) {if (this [i]> max) {max = this [i]; }} return max;}Si está presentando una biblioteca de clases para el desarrollo y tiene miedo de que la biblioteca de clases también implementa un método prototipo con el mismo nombre, puede hacer un juicio de nombre duplicado antes de generar la función:
if (typeof array.prototype ['max'] == 'Undefined') {array.prototype.max = function () {...}}Método 2:
Los resultados se pueden obtener rápidamente utilizando los métodos Math.max y Math.min. Aplicar puede permitir que un método especifique el objeto de llamada y los parámetros entrantes, y los parámetros entrantes se organizan en una matriz. Ahora hay un método llamado Math.max, el objeto de llamada es Math y tiene múltiples parámetros.
Array.max = function (array) {return math.max.apply (math, array);}; array.min = function (array) {return math.min.apply (math, array);};Sin embargo, John Resig es un método estático que los convierte en objetos matemáticos y no puede usar las llamadas encadenadas que más le gusta al maestro. Pero este método puede ser más simplificado. No olvides que el objeto matemático también es un objeto. Podemos guardar algunos bits al escribirlo con el tamaño literal del objeto.
Array.prototype.max = function () {return math.max.apply ({}, this)} array.prototype.min = function () {return math.min.apply ({}, this)} [1,2,3] .max () // => 3 [1,2,3] .min () // => 1