функциональный способ установить значение во вложенном массиве в ноль - PullRequest
2 голосов
/ 08 мая 2019

Я хочу просмотреть оба объекта ниже, и если между начальным временем и конечным временем нет значения с выбранной датой-временем между start_timestamp и end_timestamp, то значения table.translateY, table.translateX и masterId в объекте макетов должны быть равны нулю.

Как мне этого добиться?

Моя попытка:

    layouts = layouts.forEach(function(layout){
        assignments.forEach(function(assignment){
            layout.tables.map(function(table){
              if (table.id !== assignment.tableId && assignment.start_timestamp >= timestamp && !assignment.end_timestamp < timestamp) {
                table.translateY = null;
                table.translateX = null;
                table.masterId = null;
              }
          });
      })
    });

Мой объект раскладок выглядит так:

{  
      "id":31,
      "stationId":31,
      "tables":[  
         {  
            "id":652,
            "number":"040",
            "x":1285,
            "y":527,
            "length":98,
            "breadth":69,
            "rotation":0,
            "shape":"rectangle",
            "translateX":0,
            "translateY":0,
            "masterId":null,
            "seats":4
         },
         {
         ...
         }
       ]
}

Мой объект присваивания выглядит так:

[ Assignment {
    id: 6798,
    tableId: 685,
    guestGroupId: 60725,
    start_timestamp: undefined,
    end_timestamp: undefined },
  Assignment {...}
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...