2016-05-22 11 views
-1

Ich habe so viele Berechnungen, die wie folgt geht, aber in jeder Berechnung sind die Parameter unterschiedlich. Aber die Methode ist die gleiche. Wie kann ich eine Methode in AngularJS schreiben, so kann ich diese Methode jedes Mal verwenden, wenn ich berechnen muss, anstatt jedes Mal Codes zu schreiben.Angularjs Methode Aufruf

PS: Var 'Name' unterscheidet sich auch von jeder Berechnung.

var entropy_less_than60 = -(w_less_than60_positive/w_less_than60)*Math.log2(w_less_than60_positive/w_less_than60) 
         - ((w_less_than60 - w_less_than60_positive)/w_less_than60)*Math.log2((w_less_than60-w_less_than60_positive)/w_less_than60); 
+0

Nicht sicher, warum diese Frage als angularjs markiert ist, da dies wie eine allgemeine Programmierfrage erscheint (wie man wiederverwendbaren Code schreibt). Was hast du auch versucht? – OzW

+0

Ich habe eine Methode geschrieben und sie aufgerufen. Es sagte, es ist undefiniert. – CraZyDroiD

+0

* "Ich habe eine Methode geschrieben und sie aufgerufen. Sie hat gesagt, dass sie undefiniert ist" *. Zeigen Sie dann den vollständigen Code, der nicht funktioniert hat. Dies ist kein Code-Schreibdienst. Die Idee hier ist, Ihnen zu helfen, Ihren Code zu reparieren – charlietfl

Antwort

0

Erstellen Sie ein assoziatives Array-Objekt und übergeben es an die Funktion

var obj = { 
    w_less_than60_positive : '', 
    w_less_than60: 59, 
    .... 
} 

die Literale in es durch Ansicht oder andere Methoden setzen und Sie können dies passieren obj hier:

function Calculate(obj){ 
    obj.entropy_less_than60 = -(obj.w_less_than60_positive/obj.w_less_than60)* 
    Math.log2(obj.w_less_than60_positive/w_less_than60) 
    - ((obj.w_less_than60 - obj.w_less_than60_positive)/obj.w_less_than60)*Math.log2((obj.w_less_than60-obj.w_less_than60_positive)/obj.w_less_than60); 
} 

Siehe den endgültigen Wert auf der Konsole:

Console.log(obj.entropy_less_than60)