steff: additionsproplem

Hallo zusammen,

ich erstelle

var werte = new Array();
werte[0] = new Object();

weise dann einen Wert zu

while(true) {
...
if(werte[0][erk1] == undefined)
   werte[0][erk1] = parseInt(wert);
else
   werte[0][erk1] += parseInt(wert);
...

erk1 ist ein assotiativer Begriff und wert der Wert (2,3,5,7,...)

die Werte werden nun alle richtig ausgegeben. Nun mag ich von diesen Werten einen Gesamtwert bilden (2+3+5+7+,...).

Was machte ich ?

Array.prototype.array_add = function() {
  return eval(this.join("+"));
};

for(var p in produkte[0]) {
   var ges = array_add(werte[0][p]);
}

Ergebniss:
Objekt erwartet

Was mache ich noch falsch ????

Viele Grüße
Stefan

  1. Hallo zusammen,

    und zusammen dort

    Struppi.

    1. Hallo zusammen,

      und zusammen dort

      Struppi.

      ja, wollte hier und da das selbe fragen. Ist doch nicht schlimm oder??? Verstehe nicht ganz

      1. ja, wollte hier und da das selbe fragen. Ist doch nicht schlimm oder??? Verstehe nicht ganz

        Ob's schlimm ist musst du entscheiden, ich find es ganz nützlich zu Wissen ob dein Problem schon gelöst ist, bevor ich mir unnötig darüber Gedanken machen muss.

        Struppi.

        1. ja, wollte hier und da das selbe fragen. Ist doch nicht schlimm oder??? Verstehe nicht ganz

          Ob's schlimm ist musst du entscheiden, ich find es ganz nützlich zu Wissen ob dein Problem schon gelöst ist, bevor ich mir unnötig darüber Gedanken machen muss.

          Struppi.

          achso verstehe. Nein eigentlich noch nicht

          1. ja, wollte hier und da das selbe fragen. Ist doch nicht schlimm oder??? Verstehe nicht ganz

            Ob's schlimm ist musst du entscheiden, ich find es ganz nützlich zu Wissen ob dein Problem schon gelöst ist, bevor ich mir unnötig darüber Gedanken machen muss.

            Struppi.

            achso verstehe. Nein eigentlich noch nicht

            komplett schaut es so aus

            Array.prototype.sum = function() {
               return eval(this.join("+"));
               };

            var werte = new Array();
              werte[0] = new Object(); //2006
              werte[1] = new Object(); //2007
              werte[2] = new Object(); //2008

            if (Ch_Date >= first_day) { // 2008
                if(werte[0][LibPrd] == undefined)
                    werte[0][LibPrd] = parseInt(Qty);
                else
                    werte[0][LibPrd] += parseInt(Qty);
                } else // 2007
                // -------------------------------------------------------------
                if (Ch_Date >= last_year && Ch_Date < first_day){
                if(werte[1][LibPrd] == undefined)
                    werte[1][LibPrd] = parseInt(Qty);
                else
                    werte[1][LibPrd] += parseInt(Qty);
                } else // 2006
                // -------------------------------------------------------------
                if (Ch_Date >= sec_year && Ch_Date < last_year) {
                if(werte[2][LibPrd] == undefined)
                    werte[2][LibPrd] = parseInt(Qty);
                else
                    werte[2][LibPrd] += parseInt(Qty);
                }
                // ---------------------------------------------

            for(var p in produkte[0]) {

            for(var i=0; i < 3; i++) {
                     if (werte[i][p] == undefined)
                       werte[i][p] = 0;
                   }

            sHTML = sHTML + "<tr class='tdtable'>";
                  sHTML = sHTML + "<td style='border-bottom: solid 1px; border-right: solid 1px' valign='bottom' align='center'>"+ p +"</td>";
                  sHTML = sHTML + "<td style='border-bottom: solid 1px; border-left: solid 1px' valign='bottom' align='center'>" + werte[0][p] + "</td>";
                  sHTML = sHTML + "<td style='border-bottom: solid 1px; border-left: solid 1px' valign='bottom' align='center'>" + werte[1][p] + "</td>";
                  sHTML = sHTML + "<td style='border-bottom: solid 1px; border-left: solid 1px' valign='bottom' align='center'>" + werte[2][p] + "</td>";
                   sHTML = sHTML + "</tr>";
                   alert(werte[0][p]);
                   var ges_akt  = sum(werte[0][p]);
                  var ges_last = sum(werte[1][p]);
                  var ges_vlast = sum(werte[2][p]);

            }