如何使用javascript获取Json对象中字符串的实例数

如何使用javascript获取Json对象中字符串的实例数,javascript,arrays,json,object,Javascript,Arrays,Json,Object,下面是Json对象,其中包含与其制造商关联的汽车。从Json对象中,我想获得车辆总数以及对象中特定车辆的出现情况 var Cars = { "manufacturer":"Car": [{"Saab":"Automobile AB"}, {"Volvo":"V40"}, {"BMW":"Estoril Blue"}, {"Volvo":"V40"},

下面是Json对象,其中包含与其制造商关联的汽车。从Json对象中,我想获得车辆总数以及对象中特定车辆的出现情况

var Cars = { "manufacturer":"Car":
               [{"Saab":"Automobile AB"},
                {"Volvo":"V40"},
                {"BMW":"Estoril Blue"},
                {"Volvo":"V40"},
              ]};
我尝试使用
过滤器
,但由于过滤器只针对
数组
,因此无法将其用于Json对象。下面是源代码

var Cars = {"manufacturer":"Car":
               [{"Saab":"Automobile AB"},
                {"Volvo":"V40"},
                {"BMW":"Estoril Blue"},
                {"Volvo":"V40"},
               ]};

var volvo = "V40";

var numberOfCars = Cars.filter(function (x) {
       return x === volvo;
    }).length;
我希望上述源代码的输出为2。但我有个例外

过滤器不是一个函数


我需要你们帮助我获得
V40的出现次数(即2),以及车辆总数(即4辆)。

浏览对象的属性非常容易。一种方法是使用Object.entries获取属性和值的数组

var Cars=[{“萨博”:“汽车AB”}、{“沃尔沃”:“V40”}、{“宝马”:“埃斯托里尔蓝”}、{“沃尔沃”:“V40”}];
让属性=Object.entries(Cars);
控制台。日志(“车辆数量:”,车辆。长度);

console.log(“Volvo的数量:”,Cars.filter((car)=>Object.keys(car)[0]==“Volvo”).length)使用
过滤器
,然后您可以创建一个对象,该对象具有重复的车名作为key,其出现次数作为val

const-input=[{“萨博”:“汽车AB”}、{“沃尔沃”:“V40”}、{“宝马”:“埃斯托里尔蓝”}、{“沃尔沃”:“V40”}];
const volvo=“V40”;
const duplicateCars=input.filter(({Volvo})=>Volvo==Volvo);
const duplicateCarName=Object.keys(duplicateCars[0])[0];

log({[duplicateCarName]:duplicateCars.length})1)同一对象上不能有两次相同的键,2)筛选器是数组上的方法而不是objectI刚更新了Json对象。请在Json对象中添加重复的cars以获得其多次出现。我已如上所述创建了cars数组,希望这与您的数据匹配。。谢谢或者cars数组是cars对象的属性?输入有点混乱!:)