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
Post a Comment