在JavaScript中合并数组并添加值

时间:2019-12-12 16:58:43

标签: javascript arrays json reactjs

我试图将具有相同日期值的数组组合在一起,并将小时数相加,但是当我运行该函数时,这些值未相加。以下是数据/代码的示例

根据LaborDtl_ClockInDate进行组合的数组

0:
Calculated_AStartA: "6.98"
Calculated_AStartB: "0.00"
Calculated_BStartB: "0.00"
Calculated_BStartC: "0.00"
Calculated_CStartA: "0.00"
Calculated_CStartC: "0.00"
Calculated_Direct: "0.00000"
Calculated_InDirect: "6.98000"
Calculated_Start: "A"
Calculated_TotA: "6.98"
Calculated_TotB: "0.00"
Calculated_TotC: "0.00"
EmpBasic_CheckBox01: false
EmpBasic_EmpID: "YOUNT"
EmpBasic_JCDept: "IT"
EmpBasic_Name: "Tyler Young"
EmpBasic_PerConID: 3923
EmpBasic_Shift: 1
JCDept_JCDept: "IT"
JCShift_Description: "A"
LaborDtl_BurdenHrs: "0.00000"
LaborDtl_ClockInDate: "2019-12-02T00:00:00"
LaborDtl_ClockOutTime: "6.98"
LaborDtl_ClockinTime: "0.00"
LaborDtl_EmployeeNum: "yount"
LaborDtl_JobNum: ""
LaborDtl_LaborType: "I"
LaborDtl_PayrollDate: "2019-12-02T00:00:00"
LaborHed_ClockInDate: "2019-12-02T00:00:00"
LaborHed_ClockInTime: "8.02"
LaborHed_ClockOutTime: "15.00"
LaborHed_PayHours: "6.98"
RowIdent: "ed5cc97d-38f6-4d27-9ff7-6698bc86510a"
__proto__: Object
1:
Calculated_AStartA: "3.25"
Calculated_AStartB: "0.00"
Calculated_BStartB: "0.00"
Calculated_BStartC: "0.00"
Calculated_CStartA: "0.00"
Calculated_CStartC: "0.00"
Calculated_Direct: "0.00000"
Calculated_InDirect: "3.25000"
Calculated_Start: "A"
Calculated_TotA: "3.25"
Calculated_TotB: "0.00"
Calculated_TotC: "0.00"
EmpBasic_CheckBox01: false
EmpBasic_EmpID: "YOUNT"
EmpBasic_JCDept: "IT"
EmpBasic_Name: "Tyler Young"
EmpBasic_PerConID: 3923
EmpBasic_Shift: 1
JCDept_JCDept: "IT"
JCShift_Description: "A"
LaborDtl_BurdenHrs: "0.00000"
LaborDtl_ClockInDate: "2019-12-03T00:00:00"
LaborDtl_ClockOutTime: "16.75"
LaborDtl_ClockinTime: "13.50"
LaborDtl_EmployeeNum: "YOUNT"
LaborDtl_JobNum: ""
LaborDtl_LaborType: "I"
LaborDtl_PayrollDate: "2019-12-03T00:00:00"
LaborHed_ClockInDate: "2019-12-03T00:00:00"
LaborHed_ClockInTime: "13.50"
LaborHed_ClockOutTime: "16.75"
LaborHed_PayHours: "3.25"
RowIdent: "eebfdf8c-0773-4a6a-8e8c-090db003d2fe"
__proto__: Object
2:
Calculated_AStartA: "4.03"
Calculated_AStartB: "0.00"
Calculated_BStartB: "0.00"
Calculated_BStartC: "0.00"
Calculated_CStartA: "0.00"
Calculated_CStartC: "0.00"
Calculated_Direct: "0.00000"
Calculated_InDirect: "4.03000"
Calculated_Start: "A"
Calculated_TotA: "4.03"
Calculated_TotB: "0.00"
Calculated_TotC: "0.00"
EmpBasic_CheckBox01: false
EmpBasic_EmpID: "YOUNT"
EmpBasic_JCDept: "IT"
EmpBasic_Name: "Tyler Young"
EmpBasic_PerConID: 3923
EmpBasic_Shift: 1
JCDept_JCDept: "IT"
JCShift_Description: "A"
LaborDtl_BurdenHrs: "0.00000"
LaborDtl_ClockInDate: "2019-12-03T00:00:00"
LaborDtl_ClockOutTime: "4.03"
LaborDtl_ClockinTime: "0.00"
LaborDtl_EmployeeNum: "YOUNT"
LaborDtl_JobNum: ""
LaborDtl_LaborType: "I"
LaborDtl_PayrollDate: "2019-12-03T00:00:00"
LaborHed_ClockInDate: "2019-12-03T00:00:00"
LaborHed_ClockInTime: "8.97"
LaborHed_ClockOutTime: "13.00"
LaborHed_PayHours: "4.03"
RowIdent: "dcc8cffb-7f90-43c3-931a-ac5e5a6c0880"
__proto__: Object
3:
Calculated_AStartA: "6.03"
Calculated_AStartB: "0.00"
Calculated_BStartB: "0.00"
Calculated_BStartC: "0.00"
Calculated_CStartA: "0.00"
Calculated_CStartC: "0.00"
Calculated_Direct: "0.00000"
Calculated_InDirect: "6.03000"
Calculated_Start: "A"
Calculated_TotA: "6.03"
Calculated_TotB: "0.00"
Calculated_TotC: "0.00"
EmpBasic_CheckBox01: false
EmpBasic_EmpID: "YOUNT"
EmpBasic_JCDept: "IT"
EmpBasic_Name: "Tyler Young"
EmpBasic_PerConID: 3923
EmpBasic_Shift: 1
JCDept_JCDept: "IT"
JCShift_Description: "A"
LaborDtl_BurdenHrs: "0.00000"
LaborDtl_ClockInDate: "2019-12-04T00:00:00"
LaborDtl_ClockOutTime: "6.03"
LaborDtl_ClockinTime: "0.00"
LaborDtl_EmployeeNum: "YOUNT"
LaborDtl_JobNum: ""
LaborDtl_LaborType: "I"
LaborDtl_PayrollDate: "2019-12-04T00:00:00"
LaborHed_ClockInDate: "2019-12-04T00:00:00"
LaborHed_ClockInTime: "8.50"
LaborHed_ClockOutTime: "14.53"
LaborHed_PayHours: "6.03"
RowIdent: "82f54215-7f6a-45f7-ad6f-08f7e07dbea7"
__proto__: Object
4:
Calculated_AStartA: "1.77"
Calculated_AStartB: "0.00"
Calculated_BStartB: "0.00"
Calculated_BStartC: "0.00"
Calculated_CStartA: "0.00"
Calculated_CStartC: "0.00"
Calculated_Direct: "0.00000"
Calculated_InDirect: "1.77000"
Calculated_Start: "A"
Calculated_TotA: "1.77"
Calculated_TotB: "0.00"
Calculated_TotC: "0.00"
EmpBasic_CheckBox01: false
EmpBasic_EmpID: "YOUNT"
EmpBasic_JCDept: "IT"
EmpBasic_Name: "Tyler Young"
EmpBasic_PerConID: 3923
EmpBasic_Shift: 1
JCDept_JCDept: "IT"
JCShift_Description: "A"
LaborDtl_BurdenHrs: "0.00000"
LaborDtl_ClockInDate: "2019-12-05T00:00:00"
LaborDtl_ClockOutTime: "1.77"
LaborDtl_ClockinTime: "0.00"
LaborDtl_EmployeeNum: "YOUNT"
LaborDtl_JobNum: ""
LaborDtl_LaborType: "I"
LaborDtl_PayrollDate: "2019-12-05T00:00:00"
LaborHed_ClockInDate: "2019-12-05T00:00:00"
LaborHed_ClockInTime: "8.92"
LaborHed_ClockOutTime: "10.68"
LaborHed_PayHours: "1.77"
RowIdent: "2917693c-bc06-4530-a09b-510c8c6ab44a"
__proto__: Object
5:
Calculated_AStartA: "3.18"
Calculated_AStartB: "0.00"
Calculated_BStartB: "0.00"
Calculated_BStartC: "0.00"
Calculated_CStartA: "0.00"
Calculated_CStartC: "0.00"
Calculated_Direct: "0.00000"
Calculated_InDirect: "3.18000"
Calculated_Start: "A"
Calculated_TotA: "3.18"
Calculated_TotB: "0.00"
Calculated_TotC: "0.00"
EmpBasic_CheckBox01: false
EmpBasic_EmpID: "YOUNT"
EmpBasic_JCDept: "IT"
EmpBasic_Name: "Tyler Young"
EmpBasic_PerConID: 3923
EmpBasic_Shift: 1
JCDept_JCDept: "IT"
JCShift_Description: "A"
LaborDtl_BurdenHrs: "0.00000"
LaborDtl_ClockInDate: "2019-12-05T00:00:00"
LaborDtl_ClockOutTime: "3.18"
LaborDtl_ClockinTime: "0.00"
LaborDtl_EmployeeNum: "yount"
LaborDtl_JobNum: ""
LaborDtl_LaborType: "I"
LaborDtl_PayrollDate: "2019-12-05T00:00:00"
LaborHed_ClockInDate: "2019-12-05T00:00:00"
LaborHed_ClockInTime: "11.63"
LaborHed_ClockOutTime: "14.82"
LaborHed_PayHours: "3.18"
RowIdent: "bd4ae9c7-aabc-4d23-9f3b-f10869bff2b0"
__proto__: Object
6:
Calculated_AStartA: "0.05"
Calculated_AStartB: "2.02"
Calculated_BStartB: "0.00"
Calculated_BStartC: "0.00"
Calculated_CStartA: "0.00"
Calculated_CStartC: "0.00"
Calculated_Direct: "0.00000"
Calculated_InDirect: "2.07000"
Calculated_Start: "A"
Calculated_TotA: "0.05"
Calculated_TotB: "2.02"
Calculated_TotC: "0.00"
EmpBasic_CheckBox01: false
EmpBasic_EmpID: "YOUNT"
EmpBasic_JCDept: "IT"
EmpBasic_Name: "Tyler Young"
EmpBasic_PerConID: 3923
EmpBasic_Shift: 1
JCDept_JCDept: "IT"
JCShift_Description: "A"
LaborDtl_BurdenHrs: "0.00000"
LaborDtl_ClockInDate: "2019-12-05T00:00:00"
LaborDtl_ClockOutTime: "2.07"
LaborDtl_ClockinTime: "0.00"
LaborDtl_EmployeeNum: "yount"
LaborDtl_JobNum: ""
LaborDtl_LaborType: "I"
LaborDtl_PayrollDate: "2019-12-05T00:00:00"
LaborHed_ClockInDate: "2019-12-05T00:00:00"
LaborHed_ClockInTime: "17.95"
LaborHed_ClockOutTime: "20.02"
LaborHed_PayHours: "2.07"
RowIdent: "97259227-262b-4eda-85f2-d639acc5b419"
__proto__: Object
7:
Calculated_AStartA: "3.52"
Calculated_AStartB: "0.00"
Calculated_BStartB: "0.00"
Calculated_BStartC: "0.00"
Calculated_CStartA: "0.00"
Calculated_CStartC: "0.00"
Calculated_Direct: "0.00000"
Calculated_InDirect: "3.52000"
Calculated_Start: "A"
Calculated_TotA: "3.52"
Calculated_TotB: "0.00"
Calculated_TotC: "0.00"
EmpBasic_CheckBox01: false
EmpBasic_EmpID: "YOUNT"
EmpBasic_JCDept: "IT"
EmpBasic_Name: "Tyler Young"
EmpBasic_PerConID: 3923
EmpBasic_Shift: 1
JCDept_JCDept: "IT"
JCShift_Description: "A"
LaborDtl_BurdenHrs: "0.00000"
LaborDtl_ClockInDate: "2019-12-06T00:00:00"
LaborDtl_ClockOutTime: "3.52"
LaborDtl_ClockinTime: "0.00"
LaborDtl_EmployeeNum: "yount"
LaborDtl_JobNum: ""
LaborDtl_LaborType: "I"
LaborDtl_PayrollDate: "2019-12-06T00:00:00"
LaborHed_ClockInDate: "2019-12-06T00:00:00"
LaborHed_ClockInTime: "8.48"
LaborHed_ClockOutTime: "12.00"
LaborHed_PayHours: "3.52"
RowIdent: "132aa5e7-2957-48b7-a36f-97787debd537"
__proto__: Object
8:
Calculated_AStartA: "5.50"
Calculated_AStartB: "1.00"
Calculated_BStartB: "0.00"
Calculated_BStartC: "0.00"
Calculated_CStartA: "0.00"
Calculated_CStartC: "0.00"
Calculated_Direct: "0.00000"
Calculated_InDirect: "6.50000"
Calculated_Start: "A"
Calculated_TotA: "5.50"
Calculated_TotB: "1.00"
Calculated_TotC: "0.00"
EmpBasic_CheckBox01: false
EmpBasic_EmpID: "YOUNT"
EmpBasic_JCDept: "IT"
EmpBasic_Name: "Tyler Young"
EmpBasic_PerConID: 3923
EmpBasic_Shift: 1
JCDept_JCDept: "IT"
JCShift_Description: "A"
LaborDtl_BurdenHrs: "0.00000"
LaborDtl_ClockInDate: "2019-12-06T00:00:00"
LaborDtl_ClockOutTime: "19.00"
LaborDtl_ClockinTime: "12.50"
LaborDtl_EmployeeNum: "YOUNT"
LaborDtl_JobNum: ""
LaborDtl_LaborType: "I"
LaborDtl_PayrollDate: "2019-12-06T00:00:00"
LaborHed_ClockInDate: "2019-12-06T00:00:00"
LaborHed_ClockInTime: "12.50"
LaborHed_ClockOutTime: "19.00"
LaborHed_PayHours: "6.50"
RowIdent: "64686eea-0550-4624-894e-60018b56d87a"

我想将它们合并并添加LaborHed_PayHours together。我尝试使用以下功能,但数据不会加在一起

const ourCount = {};

filtered.forEach(entry => {
    if(!ourCount[filtered.LaborDtl_ClockInDate]){
  ourCount[entry.LaborDtl_ClockInDate] = 0;
  }
  ourCount[entry.LaborDtl_ClockInDate]+= parseFloat(entry.LaborHed_PayHours);
});

console.log('combine and add below')
console.log(ourCount)

结果:

2019-12-02T00:00:00: 6.98
2019-12-03T00:00:00: 4.03
2019-12-04T00:00:00: 6.03
2019-12-05T00:00:00: 2.07
2019-12-06T00:00:00: 6.5

0 个答案:

没有答案