Me gustaría obtener el valor mínimo de una matriz. Si los datos contienen el valor null
, Math.min.apply
devuelve 0
para el valor null
. Por favor, consulte this JSFiddle example. ¿Cómo puedo obtener el valor mínimo verdadero incluso si existe un valor nulo en la matriz?Math.min.apply devuelve 0 para nulo
Código (igual que en el ejemplo jsFiddle):
var arrayObject= [ {"x": 1, "y": 5}, {"x": 2, "y": 2}, {"x": 3, "y": 9}, {"x": 4, "y": null}, {"x": 5, "y": 12} ];
var max = Math.max.apply(Math, arrayObject.map(function(o){return o.y;}));
var min = Math.min.apply(Math, arrayObject.map(function(o){return o.y;}));
$("#max").text(max);
$("#min").text(min);
No hay JSON en su ejemplo ... corregido. –
La función 'Math.min' realiza (la función interna)' ToNumber() 'en cada elemento de la matriz, que a su vez fuerza los valores a * Number *. La coerción es una mierda, lo sabíamos. ': P' –
@ ŠimeVidas simplemente dejando la propiedad fuera lo haría' indefinido', que a su vez se convierte en 'NaN' que se filtra fácilmente con' .filter (isFinite) ' – Esailija