JS将对象推送到对象内的数组中

时间:2017-10-05 12:52:15

标签: javascript

我从网络服务获取数据,我想将其推送到像这样的对象中的数组

   var createTimesheetFromWebserviceData = function (timesheetData) {

            for (var key in timesheetData.urenstaatRegels) {
                var timesheet = {
                    Id: timesheetData.urenstaatId,
                    Owner: timesheetData.urenGebruiker,
                    Rows: [
                        {
                            Days: {
                                Monday: timesheetData.urenstaatRegels[key].aant_ma,
                                Tuesday: timesheetData.urenstaatRegels[key].aant_di,
                                Wednesday: timesheetData.urenstaatRegels[key].aant_wo,
                                Thursday: timesheetData.urenstaatRegels[key].aant_do,
                                Friday: timesheetData.urenstaatRegels[key].aant_vr,
                                Saturday: timesheetData.urenstaatRegels[key].aant_za,
                                Sunday: timesheetData.urenstaatRegels[key].aant_zo
                            },
                            Activity: timesheetData.urenstaatRegels[key].activiteit,
                            Hourtype: timesheetData.urenstaatRegels[key].type_soort_uur,
                            Traction: timesheetData.urenstaatRegels[key].produktiemiddel2,
                            Remark: timesheetData.urenstaatRegels[key].redenAfkeuring
                        }
                    ],
                    Status: timesheetData.status,
                    SubmittedDateTime: timesheetData.opvoerDatum
                }

                    timesheet.Rows.push(timesheet.Rows); // I want to try something like this, but this just overrides the previous timesheet.

            }
            return timesheet;
        }

所以在for循环中我想在对象时间表中创建多行。我想在现有的时间表中添加更多行。

编辑:我希望时间表对象相同,我只想将额外的Row对象推送到时间表对象上。

这些数据来自网络服务,并且设置完全不同,这就是为什么我想使用这个时间表对象与角度进行通信。当我从Web服务获取对象时,不可能只使用该对象。

我试图将行推到时间表上,但它只是覆盖了它们。处理这种情况的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

你在循环中覆盖了时间表变量。