2017-05-30 3 views
0

ich eine Javascript-Funktion haben, die ein neues Array erzeugt und zurückgibt (von Arrays):erhalten Array (e) von jquery/JavaScript-Funktion

function getFees(id){ 

    var prep = new Array, primary = new Array, secondary = new Array, vce = new Array; 

    prep[0]   = 733; 
    primary[0]  = 792; 
    secondary[0] = 879; 
    vce[0]   = 1108; 

    if (id == 2) { 

     prep[1] = (prep[0] - prep[0] * 5/100); 
     prep[1] = Math.ceil(prep[1]); 

     primary[1] = (primary[0] - primary[0] * 5/100); 
     primary[1] = Math.ceil(primary[1]); 

     secondary[1] = (secondary[0] - secondary[0] * 5/100); 
     secondary[1] = Math.floor(secondary[1]); 

     vce[1] = (vce[0] - vce[0] * 5/100); 
     vce[1] = Math.floor(vce[1]); 

    } else if (id == 3) { 

     prep[2] = (prep[0] - prep[0] * 10/100); 
     prep[2] = Math.ceil(prep[2]); 

     primary[2] = (primary[0] - primary[0] * 10/100); 
     primary[2] = Math.ceil(primary[2]); 

     secondary[2] = (secondary[0] - secondary[0] * 10/100); 
     secondary[2] = Math.floor(secondary[2]); 

     vce[2] = (vce[0] - vce[0] * 10/100); 
     vce[2] = Math.floor(vce[2]); 

    } else if (id == 4) { 

     prep[3] = (prep[0] - prep[0] * 50/100); 
     prep[3] = Math.ceil(prep[3]); 

     primary[3] = (primary[0] - primary[0] * 50/100); 
     primary[3] = Math.ceil(primary[3]); 

     secondary[3] = (secondary[0] - secondary[0] * 50/100); 
     secondary[3] = Math.ceil(secondary[3]); 

     vce[3] = (vce[0] - vce[0] * 50/100); 
     vce[3] = Math.floor(vce[3]); 

    } else if (id >= 5) { 

     prep[4] = (prep[0] - prep[0] * 75/100); 
     prep[4] = Math.floor(prep[4]); 

     primary[4] = (primary[0] - primary[0] * 75/100); 
     primary[4] = Math.ceil(primary[4]); 

     secondary[4] = (secondary[0] - secondary[0] * 75/100); 
     secondary[4] = Math.ceil(secondary[4]); 

     vce[4] = (vce[0] - vce[0] * 75/100); 
     vce[4] = Math.floor(vce[4]); 

    } 

    var newArray = []; 

    newArray.push({'prep':prep}); //prep array = 733,697 
    newArray.push({'primary':primary}); //primary array = 792,753 
    newArray.push({'secondary':secondary}); //secondary array = 879,835 
    newArray.push({'vce':vce}); //vce array = 1108,1052 

    return newArray; 
} 

Im Grunde habe ich ein Beispiel, in dem .push gegeben Abschnitte an der Unterseite. Ich rufe dann meine Funktion, indem Sie diese:

var fees = getFees(2); 
alert(fees); 

welche Warnungen dies:

[object Object],[object Object],[object Object],[object Object] 

Wenn ich tun:

alert(fees.toSource()); 

ich dieses:

[{prep:[733, 697]}, {primary:[792, 753]}, {secondary:[879, 835]}, {vce:[1108, 1052]}] 

Was Ich muss in der Lage sein, die Nummer von jedem zu bekommen die Elemente (prep/primäre/sekundäre/VCE) zB ..

fees.prep[0]; 
fees.primary[1]; 

Aber wenn ich versuche, dass ich diesen Fehler:

Typeerror: fees.prep undefiniert ist

Was bin ich fehlt ?? Jede Hilfe würde sehr geschätzt werden !! :)

+1

diese Gebühren versuchen [0] .prep [0]; – JYoThI

+0

Danke! Das hat funktioniert :) –

+1

Wenn meine Antwort ist nützlich, markieren Sie es mit grünen Haken, es ist nützlich für zukünftige Benutzer Referenz @Leanne Seawright – JYoThI

Antwort

2

Sie benötigen für den Zugriff auf ähnliche

fees[0].prep[0]; 
+0

Vielen Dank! Das hat funktioniert :) –

Verwandte Themen