Se ha hecho casi hasta la muerte, aquí en SO y alrededor de la 'Red. Sin embargo, me preguntaba si había una manera de aprovechar el mínimo estándar/funciones máximo de:Mín./Máx. A través de una matriz de objetos
Array.max = function(array) {
return Math.max.apply(Math, array);
};
Array.min = function(array) {
return Math.min.apply(Math, array);
};
Así que pueden buscar a través de una matriz de objetos de, por ejemplo:
function Vector(x, y, z) { this.x = x; this.y = y; this.z = z; }
var ArrayVector = [ /* lots of data */ ];
var min_x = ArrayVector.x.min(); // or
var max_y = ArrayVector["y"].max();
Actualmente tengo un bucle a través de la matriz y comparar los valores del objeto manualmente y crear cada uno a la necesidad particular del ciclo. Una forma más general sería agradable (aunque un poco más lenta).
Es una solución bastante elegante. Puedo ver que construye una nueva matriz temporal, así que probablemente tendré que guardarla en caché o usarla con moderación. –