Javascript 有问题为什么拆分功能不工作

Javascript 有问题为什么拆分功能不工作,javascript,Javascript,我正在尝试拆分salesData,它确实希望在每个对象后面用逗号拆分() 这是家庭作业。我正试着把它存储在一个对象图中,并在那里进行计算。 目前,我无法通过拆分功能 我在下面提供了我的代码,以显示最赚钱的部门是什么 var salesData = [ {department : 'hardware', sales : 4500, day : 'Monday'}, {department : 'outdoor', sales : 1500, day : 'Monday'}, {department

我正在尝试拆分salesData,它确实希望在每个对象后面用逗号拆分()

这是家庭作业。我正试着把它存储在一个对象图中,并在那里进行计算。 目前,我无法通过
拆分
功能

我在下面提供了我的代码,以显示最赚钱的部门是什么

var salesData = [
{department : 'hardware', sales : 4500, day : 'Monday'},
{department : 'outdoor', sales : 1500, day : 'Monday'},
{department : 'carpentry', sales : 5500, day : 'Monday'},
{department : 'hardware', sales : 7500, day : 'Tuesday'},
{department : 'outdoor', sales : 2505, day : 'Tuesday'},
{department : 'carpentry', sales : 1540, day : 'Tuesday'},
{department : 'hardware', sales : 1500, day : 'Wednesday'},
{department : 'outdoor', sales : 8507, day : 'Wednesday'},
{department : 'carpentry', sales : 8009, day : 'Wednesday'},
{department : 'hardware', sales : 12000, day : 'Thursday'},
{department : 'outdoor', sales : 18007, day : 'Thursday'},
{department : 'carpentry', sales : 6109, day : 'Thursday'},
{department : 'hardware', sales : 7005, day : 'Friday'},
{department : 'outdoor', sales : 12006, day : 'Friday'},
{department : 'carpentry', sales : 16109, day : 'Friday'},
];

 var departmentMap = {};

function mostProfitableDepartment() {
 var departmentSplit = salesData.split(',');

  for (var i = 0; i < departmentSplit.length; i++) {
   var currentDep = departmentSplit[i]
  if (departmentMap[currentDep] === undefined) {
    departmentMap[currentDep] = 0;
  }
  departmentMap[currentDep] = departmentMap[currentDep]++
}
console.log(departmentMap);
}mostProfitableDepartment(salesData);
var-salesData=[
{部门:'硬件',销售:4500,日期:'星期一'},
{部门:'户外',销售:1500,日:'星期一'},
{部门:'木工',销售:5500,日期:'星期一'},
{部门:'硬件',销售:7500,日期:'星期二'},
{部门:'户外',销售:2505,日期:'星期二'},
{部门:'木工',销售:1540,日期:'星期二'},
{部门:'硬件',销售:1500,日期:'星期三'},
{部门:'户外',销售:8507,日期:'星期三'},
{部门:'木工',销售:8009,日期:'星期三'},
{部门:'硬件',销售:12000,日:'星期四'},
{部门:'户外',销售:18007,日期:'星期四'},
{部门:'木工',销售:6109,日期:'星期四'},
{部门:'硬件',销售:7005,日期:'星期五'},
{部门:'户外',销售:12006,日期:'星期五'},
{部门:'木工',销售:16109,日期:'星期五'},
];
var departmentMap={};
职能mostProfitableDepartment(){
var departmentSplit=salesData.split(',');
对于(变量i=0;i
您可以使用
Array.prototype.reduce()执行以下操作

var-salesData=[
{部门:'硬件',销售:4500,日期:'星期一'},
{部门:'户外',销售:1500,日:'星期一'},
{部门:'木工',销售:5500,日期:'星期一'},
{部门:'硬件',销售:7500,日期:'星期二'},
{部门:'户外',销售:2505,日期:'星期二'},
{部门:'木工',销售:1540,日期:'星期二'},
{部门:'硬件',销售:1500,日期:'星期三'},
{部门:'户外',销售:8507,日期:'星期三'},
{部门:'木工',销售:8009,日期:'星期三'},
{部门:'硬件',销售:12000,日:'星期四'},
{部门:'户外',销售:18007,日期:'星期四'},
{部门:'木工',销售:6109,日期:'星期四'},
{部门:'硬件',销售:7005,日期:'星期五'},
{部门:'户外',销售:12006,日期:'星期五'},
{部门:'木工',销售:16109,日期:'星期五'},
],
deptMap=salesData.reduce((p,c)=>p[c.department]?(p[c.department]).push({sales:c.sales,
日期:c.day}),p)
:(p[c.部门]=[{销售:c.销售,
日:c.day}],p),{});

控制台日志(deptMap)通过使用
Array.prototype.reduce()

var-salesData=[
{部门:'硬件',销售:4500,日期:'星期一'},
{部门:'户外',销售:1500,日:'星期一'},
{部门:'木工',销售:5500,日期:'星期一'},
{部门:'硬件',销售:7500,日期:'星期二'},
{部门:'户外',销售:2505,日期:'星期二'},
{部门:'木工',销售:1540,日期:'星期二'},
{部门:'硬件',销售:1500,日期:'星期三'},
{部门:'户外',销售:8507,日期:'星期三'},
{部门:'木工',销售:8009,日期:'星期三'},
{部门:'硬件',销售:12000,日:'星期四'},
{部门:'户外',销售:18007,日期:'星期四'},
{部门:'木工',销售:6109,日期:'星期四'},
{部门:'硬件',销售:7005,日期:'星期五'},
{部门:'户外',销售:12006,日期:'星期五'},
{部门:'木工',销售:16109,日期:'星期五'},
],
deptMap=salesData.reduce((p,c)=>p[c.department]?(p[c.department]).push({sales:c.sales,
日期:c.day}),p)
:(p[c.部门]=[{销售:c.销售,
日:c.day}],p),{});

控制台日志(deptMap)您可以对数组使用迭代结构,您已经有了。然后将部门属性作为实际部门,并计算销售属性

var salesData=[{部门:'硬件',销售:4500,天:'星期一'},{部门:'户外',销售:1500,天:'星期一'},{部门:'木工',销售:5500,天:'星期一'},{部门:'硬件',销售:7500,天:'星期二'},{部门:'户外',销售:2505,天:'星期二',{部门:'木工',销售:1540,日:'星期二'},{部门:'五金',销售:1500,日:'星期三'},{部门:'室外',销售:8507,日:'星期三'},{部门:'木工',销售:8009,日:'星期三'},{部门:'五金',销售:12000,日:'星期四'},{部门:'室外',销售:18007,日:'星期四'},{部门:'木工',销售:6109,日:'星期四'},{部门:'五金',销售:7005,日:'星期五'},{部门:'户外',销售:12006,日:'星期五'},{部门:'木工',销售:16109,日:'星期五'},
部门地图={};
职能mostProfitableDepartment(){
var-currentDep,i;
对于(i=0;i    var departments = [];
    angular.forEach(salesData, function (d) {
        if(departments[d.department]){
            departments[d.department] = departments[d.department] + d.sales;
        }else{
            departments[d.department] = d.sales;
        }
    });