How to count object elements using jquery -


i have array objects inside. count object values. script working. possible make little bit shorter(dry) ?

var mydata = [     { sku: "9017wks43dp", quan: 100, farbigkeit40: "a90zukos4599", proof: "a90zukos4499" },     { sku: "9017wks18dp", quan: 100 },     { sku: "9017was18dp", quan: 50, eindruck: "a90zukos4799" },     { sku: "9017was18dp", quan: 40, eindruck: "a90zukos4799", proof: "a90zukos4499" },     { sku: "9017wks43dp", quan: 200, farbigkeit44:"a90zukos4699", proof: "a90zukos4499" },     { sku: "9017wks43dp", quan: 200, farbigkeit40:"a90zukos4599" } ];      function countelements() {         var res = {};         mydata.foreach(function(value){              res[value.sku]=res[value.sku]||{quan:0};             res[value.sku].quan+=1*value.quan;              if(value.farbigkeit40 != undefined) {                 res[value.farbigkeit40] = res[value.farbigkeit40] || {quan:0};                 res[value.farbigkeit40].quan +=1;                }             if(value.farbigkeit44 != undefined) {                 res[value.farbigkeit44] = res[value.farbigkeit44] || {quan:0};                 res[value.farbigkeit44].quan +=1;                }             if(value.proof != undefined) {                 res[value.proof] = res[value.proof] || {quan:0};                 res[value.proof].quan +=1;               }             if(value.eindruck != undefined) {                 res[value.eindruck] = res[value.eindruck] || {quan:0};                 res[value.eindruck].quan +=1;                }         });         return res;     }     console.log(countelements());     $('#result').html(json.stringify(countelements(),null,4)); 

with second foreach inside. have tried didn't same result.

["farbigkeit40","farbigkeit44","proof","eindruck"].foreach(function(p) {             res[value.p]=res[value.p] || {quan:0};             res[value.p].quan += 1;             }) 

you there. instead of value.p should use value[p].

object.prop references proprty name prop within object .

object[prop] references property name 'value of' prop within object.

e.g. p = 'farbigkeit44': value[p] same value['farbigkeit44'] same value.farbigkeit44.


Comments

Popular posts from this blog

javascript - Create a stacked percentage column -

Optimising Firebase database by automatically overwriting data -

javascript - Angular UI-Grid customTemplate directive causing rows to load slowly/? -