javascript - Facing a issue when trying to use a IF statement with arrays -


i creating shopping cart uni project, facing problems when testing array. if more 5 elements selected total price should have 10% discount. variable discount works fine when 1 element selected quantity bigger 5 returns 0 if quantity split between 2 elements (meaning if potatos = 6 discount works if potatos = 4 , blueberry = 2 doesnt work anymore ). here code :

    function calc() {         var numberpotatos = document.getelementbyid('potatos_id').value;         var numberblueberry =  document.getelementbyid('blueberry_id').value;         var numberstrawberry = document.getelementbyid('strawberry_id').value;         var numbereggplants = document.getelementbyid('eggplants_id').value;         var numberkiwis = document.getelementbyid('kiwis_id').value;         var numberbananas = document.getelementbyid('bananas_id').value;          var output = "";            var myarray= new array (6);              myarray [0] = numberpotatos;             myarray [1] = numberblueberry;             myarray [2] = numberstrawberry;             myarray [3] = numbereggplants;                 myarray [4] = numberkiwis;             myarray [5] = numberbananas;           var mysecondarray  = new array (6); mysecondarray [0] = 6; mysecondarray [1] = 7; mysecondarray [2] = 5; mysecondarray [3] = 22; mysecondarray [4] = 12; mysecondarray [5] = 4;  // more code    var sum = 0; for(var i=0; i< myarray.length; i++) {     sum += myarray [i ]* mysecondarray[i];     document.getelementbyid('test').innerhtml = sum; }      var discount = 0;       for(var i=0; i<myarray.length;i++ )      {          if(myarray[i] > 5){              discount = (sum - (sum * 0.10));             discount = parsefloat(discount);       }       document.getelementbyid('test2').innerhtml = discount;       }    } 

you need keep track of total items, rather if 1 item more 5:

var totalitems = 0; var discount = 0; for(var = 0; < myarray.length; i++) {     totalitems += myarray[i]; }  if(totalitems > 5){     discount = (sum - (sum * 0.10));     discount = parsefloat(discount); } 

Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -