JavaScript减少函数代码混乱?

JavaScript减少函数代码混乱?,javascript,Javascript,在此代码中,obj是否引用数组中的所有项?obj[项目]是否意味着检查“当前项目”是否在对象(obj)中。如果不是,则将其赋值为0,如果是,则将其递增1 const data=[‘汽车’、‘汽车’、‘卡车’、‘自行车’、‘步行’、‘汽车’、‘货车’、‘自行车’、‘步行’、‘汽车’, “货车”、“汽车”、“卡车”、“波戈斯蒂克” ]; 常量运输=数据减少(功能(对象,项目){ 如果(!obj[项目]){ obj[项目]=0; } obj[项目]+; 返回obj; }, {}); 控制台.日志(运

在此代码中,obj是否引用数组中的所有项?obj[项目]是否意味着检查“当前项目”是否在对象(obj)中。如果不是,则将其赋值为0,如果是,则将其递增1

const data=[‘汽车’、‘汽车’、‘卡车’、‘自行车’、‘步行’、‘汽车’、‘货车’、‘自行车’、‘步行’、‘汽车’,
“货车”、“汽车”、“卡车”、“波戈斯蒂克”
];
常量运输=数据减少(功能(对象,项目){
如果(!obj[项目]){
obj[项目]=0;
}
obj[项目]+;
返回obj;
}, {});

控制台.日志(运输)您可能需要检查文档:

传递给reduce(obj)的函数的第一个参数是累加器,在您的例子中,累加器是
{}
,您可以使用reduce方法的第二个参数设置它,或者将其默认为正在迭代的数组的第一个元素

第二个参数(项)是数组的当前迭代元素,
第三个参数是当前索引,第四个参数是正在迭代的数组本身的引用(数据)。

您可能需要查看文档:

传递给reduce(obj)的函数的第一个参数是累加器,在您的例子中,累加器是
{}
,您可以使用reduce方法的第二个参数设置它,或者将其默认为正在迭代的数组的第一个元素

第二个参数(项)是数组的当前迭代元素,
第三个参数是当前索引,第四个参数是正在迭代的数组本身(数据)的引用。

在此代码中,obj是否引用数组中的所有项?-否,
obj
引用累加器对象,其初始值是一个空对象,作为第二个参数传递给
reduce
函数。obj[项目]是否意味着检查“当前项目”是否在对象(obj)中。如果不是,则将其赋值为0,如果是,则将其递增1-
obj[item]
检查当前项是否作为键存在于该代码中的
obj
中obj是否引用数组中的所有项?-否,
obj
引用累加器对象,其初始值是一个空对象,作为第二个参数传递给
reduce
函数。obj[项目]是否意味着检查“当前项目”是否在对象(obj)中。如果不是,则将其赋值为0,如果是,则将其递增1-
obj[item]
检查当前项是否作为键存在于
obj
obj中,该对象中如何存在当前项?因为它是在obj中使用
obj[item]
设置的。obj是空对象,当前项目如何出现在其中?因为它是在obj中用
obj[item]
设置的。