Ich versuche normalize data und erkannte, dass es nicht funktioniert, weil ich das falsche Maximum bekomme. Der Nummernvergleich funktioniert jedoch nicht korrekt. Hier ist mein Code:Javascript vergleicht Zahlen funktioniert nicht
var max = Number.MIN_VALUE;
var min = Number.MAX_VALUE;
for (i = 0; i < array.length; i++)
{
if(array[i]>max)
{
max = array[i];
}
}
for (i = 0; i < array.length; i++)
{
if(array[i]<min)
{
min = array[i];
}
}
console.log("max: " + max);
console.log("min: " + min);
for (i = 0; i < array.length; i++)
{
if(array[i]!=0)
{
if(array[i]>max)
{
console.log(i+": " + array[i] + " yes");
}
else
{
console.log(i+": " + array[i] + " no " + max);
}
}
}
Ich bin eine Menge Konsolenausgabe bekommen, aber hier ist ein Beispiel:
241590: 17.5799 no 9.86874
was bedeutet, dass aus irgendeinem Grund, JS denkt, dass 17,5799 nicht größer als 9,86874. Warum passiert das und was kann ich tun, um es zu beheben? Vielen Dank!
EDIT 1: Beim Drucken Array [i] - Max, ich habe den richtigen Unterschied ... außer es ist negativ.
(Hinweis: es ist besser, 'for (var i = 0' anstelle von' für (i = 0') zu verwenden. – gcampbell
was ist der Inhalt des Arrays? – Cruiser
Sie können max/min auch mit 'Math.min 'erhalten .apply (null, array) '. Siehe http://jsbin.com/somexiwopo/edit?js,console,output – NTL