2016-07-20 8 views
7

ProblemPushing einen variablen Wert in ein Array

ich eine Rückkehr Variablen Wert in ein Array zu drücken versuchen. Das ist mein Code, aber ich gebe ein leeres Array zurück und bin mir nicht sicher, was falsch ist.

JavaScript

var my_arr = []; 

function foo() { 
    var unitValue = parseFloat($('#unitVal1').val()); 
    var percentFiner = parseFloat($('#percent1').val()); 
    var total = unitValue * 1000; 

    return my_arr.push({ 
    unit: unitValue, 
    percent: percentFiner 
    }); 
} 
+1

es Array von Objekten sein sollte und kann nicht sehen, 'micronConv' hier. – varit05

+2

Warum so viele Upvotes? Dieser Code gibt kein Array zurück. Und hast du 'my_arr' überprüft? – 1983

Antwort

9
return my_arr.push({ 
     unit: unitValue, 
     percent: percentFiner}); 

Das das neue Array nicht zurückkehrt - dies die neue Länge des Arrays zurückkehrt! Split diese aus:

my_arr.push({ 
     unit: unitValue, 
     percent: percentFiner}); 

return my_arr; 
+0

oder sogar 'return my_arr.push (...) && my_arr;' würde auch funktionieren ;-) – Neal

9

Array.push gibt eine Länge des geänderten Array, nicht das Array selbst

See the Docs

Verwandte Themen