Es wurde ziemlich viel zu Tode getan, hier auf SO und um das Netz herum. Ich frage mich jedoch, ob es einen Weg, die Standard-Min-/Max-Funktionen zu nutzen:Min/Max über ein Array von Objekten
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();
Zur Zeit muss ich Schleife:
Array.max = function(array) {
return Math.max.apply(Math, array);
};
Array.min = function(array) {
return Math.min.apply(Math, array);
};
So kann ich über ein Array von Objekten von sagen wir suchen durch das Array und vergleichen Sie die Objektwerte manuell und fertigen Sie jedes an die besonderen Bedürfnisse der Schleife. Ein allgemeinerer Weg wäre schön (wenn auch etwas langsamer).
Das ist eine ziemlich elegante Lösung. Ich kann sehen, dass es ein neues temporäres Array erstellt, so dass ich es wahrscheinlich zwischenspeichern muss, oder es sparsam verwenden muss. –