javascript - Need help for count array angularjs -


i have array this

vm.name =['a','a','b','b','c','c','c']; 

i count item

vm.a =[]; vm.b=[]; vm.c=[];  for(var =0;i<vm.name.length;i++){   if(vm.name[i] ==='a'){     vm.a.push(vm.name[i])   }   if(vm.name[i] ==='b'){     vm.b.push(vm.name[i])   }   if(vm.name[i] ==='c'){     vm.c.push(vm.name[i])   } } 

and render in html

{{vm.a.length}} //2 {{vm.b.length}} //2 {{vm.c.length}} //3 

but don't think good. if have better way, please tell me.

you can create these arrays dynamically using beautiful function called reduce :)

vm.name = ['a', 'a', 'b', 'b', 'c', 'c', 'c'];  vm = vm.name.reduce(function(obj, cur) {   obj[cur.tolowercase()] = obj[cur.tolowercase()] || []   obj[cur.tolowercase()].push(cur)   return obj; }, vm)  console.log(vm.b.length) console.log(vm.c.length) 

Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -