2017-10-05 56 views
-1

我從web服務中獲取數據,我想它在for環路我不想這麼推到一個數組對象中這樣JS對象推到一個數組對象中

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; 
     } 

在對象時間表內創建多行。我想把更多的行放到現有的時間表中。

編輯:我想時間表對象是相同的,我只是想將額外的行對象推到時間表對象上。

這個數據來自web服務,在設置上完全不同,這就是爲什麼我想使用這個時間表對象來與角度進行通信。從web服務獲取它時,不可能只使用該對象。

我試圖將行推入時間表,但它只是覆蓋它們。處理這種情況的正確方法是什麼?

回答

0

你在循環中添加時間表變量。

+0

我知道這一點,我想只是添加額外的行到循環內的行數組。時間表的其餘部分可以保持不變。 – Proliges

+0

我沒有得到你的目標,這段代碼沒有任何意義,你做了兩次同樣的事情。 –

+0

這段代碼的目標是建立一個時間表,所以我可以在我已經感受到的角度前端中使用它。所以我從Web服務獲取數據並從該數據創建時間表對象。每個時間表應該有一個或多個行數組。所以我想(在for循環中)將行數組添加到時間表對象中。 – Proliges