2017-07-28 86 views
-2

我正在爲美容沙龍創建一個日程安排系統。需要發生的事情是,當客戶安排他們的寵物時,系統只給出可用的時間。一旦客戶選擇可用時間,如果有多個可用的美容師,則系統需要將該寵物分配給資歷最高的美容師。如何在使用Javascript跟蹤鏈接ID的同時組合時隙數組?

我目前有一個嵌套數組,每個groomer的信息,以及他們可用的一個數組 時間槽。

這裏是陣列的例子:

timeslots (
    0 => array (
     groomer => array (
      ID => 0, 
      Seniority => 5, 
      ... 
     ), 
     slots => array (
      0 => array (
       start => 200, 
       end => 450, 
       length => 250 
      ), 
      1 => array (
       start => 500, 
       end => 600, 
       length => 100 
      ) 
     ) 
    ), 
    1 => array (...), 
    2 => array (...) 
) 

我需要所有時隙組合成一個單一的陣列,以便填充的盒。但是,任何重疊的時隙都需要合併,而且我仍然需要一種方法來跟蹤哪個美容師在選定的特定時間段內最高級。

謝謝!

回答

0

這不僅僅是一個答案,而是我認爲使用類將幫助你找到自己問題的答案。

class Groomer { 
    constructor(id, seniority) { 
    this.id = id, 
    this.seniority = seniority, 
    this.timeslots => { 
     someFunctionThatGetsTimeslots(); 
    } 
    } 
}