Agora, mais e mais pessoas usam os valores máximos e mínimos em uma matriz, então eu compilei um método para todos usarem. O código é o seguinte. Se você tiver alguma dúvida, entre em contato comigo. Vamos aprender e progredir juntos.
Vamos dar uma olhada no seguinte exemplo um:
var numreg = /^-?--9 ]+.?[0-9 ]**$/Array.Prototype.min = function () {return this.Reduce (function (prevalece, curvalue, índice, matriz) {if (numreg.test (prevalue) & & numreg.test (curvalue) {retalue> prevest> NumReg.test (Prevalue)) {Retorne Curvalue; caso contrário, if (numreg.test (prevaleceu)) {return curvalue;Exemplo 2:
function 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,10] var b = [12,4,45,786,9,78] Alerta ("Amax:" + getMaximin (a, "max") + "--- amin:" + getMaximin (a, "min") + "--- bmax-" + getMaximin (B, "min")) // Amax: 10 --- Amin: 2 --- Bmax: 786 --- Bmin: 4 função 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,10] var b = [12,4,45,786,9,78] Alerta ("Amax:" + getMaximin (a, "max") + "--- amin:" + getMaximin (a, "min") + "--- bmax-" + getMaximin (B, "min")) // Amax: 10 --- Amin: 2 --- Bmax: 786 --- Bmin: 4Vejamos mais dois métodos
Método 1:
// Valor mínimo array.prototype.min = function () {var min = this [0]; var len = this.length; para (var i = 1; i <len; i ++) {if (this [i] <min) {min = this [i]; }} return min;} // máximo de valor 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]; }} retornar max;}Se você estiver introduzindo uma biblioteca de classes para o desenvolvimento e tem medo de que a biblioteca de classes também implemente um método de protótipo com o mesmo nome, você pode fazer um julgamento de nome duplicado antes de gerar a função:
if (typeof Array.prototype ['max'] == 'indefinido') {Array.prototype.max = function () {... ...}}Método 2:
Os resultados podem ser obtidos rapidamente usando os métodos Math.max e Math.Min. Aplicar pode permitir que um método especifique o objeto de chamada e os parâmetros recebidos, e os parâmetros recebidos estão organizados em uma matriz. Agora existe um método chamado math.max, o objeto de chamada é matemática e possui vários parâmetros.
Array.max = function (array) {return Math.max.Apply (Math, Array);}; Array.min = function (Array) {return Math.min.Apply (Math, Array);};No entanto, John Resig é um método estático que os transforma em objetos de matemática e não pode usar as chamadas acorrentadas que o mestre mais gosta. Mas esse método pode ser mais simplificado. Não se esqueça que o objeto de matemática também é um objeto. Podemos economizar alguns bits ao escrever com o tamanho literal do 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,23].