Javascript 如何动态计算JSON数据中各个字符串的计数?

Javascript 如何动态计算JSON数据中各个字符串的计数?,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,我有一个JSON数据,它必须根据数据计算JSON数据中类型的计数。因此,通过使用ajax或jquery,我们需要执行此任务 var item = [{name:a,type:abc},{name:a,type:abc},{name:a,type:abc},{name:a,type:abc},{name:a,type:abc},{name:a,type:ac},{name:a,type:bc},{name:a,type:ac},{name:a,type:ab},{name:a,type:ac}]

我有一个JSON数据,它必须根据数据计算JSON数据中类型的计数。因此,通过使用ajax或jquery,我们需要执行此任务

var item = [{name:a,type:abc},{name:a,type:abc},{name:a,type:abc},{name:a,type:abc},{name:a,type:abc},{name:a,type:ac},{name:a,type:bc},{name:a,type:ac},{name:a,type:ab},{name:a,type:ac}]

即使数据发生更改,代码也应适用。

您可以通过使用
reduce()
创建键入到
类型的对象来计算各种类型。如果存在,则将其递增;如果是第一次在循环中看到,则将其设置为1:

var item=[{name:'a',type:'abc'},{name:'a',type:'abc'},{name:'a',type:'ac'},{name:'a',type:'ab'},{name:'a',type:'ac'},{name:'a',type:'ab'},{name:'a',type:'ac'},{name:'a',type:'xx'}]
让计数=项。减少((计数,{type})=>{
计数[类型]=计数[类型]?计数[类型]+1:1
返回计数
}, {})

console.log(counts)
不清楚您想要计算什么,以及根据什么标准认为它们“不同”。