Я рисую данные из базы данных и получаю массив объектов, каждый из которых содержит имена официантов и дни, когда они работали. Я хочу динамически реструктурировать массив, сжимая его в один объект с двумя парами значений свойств на одного официанта. Одно свойство для имени и другое для рабочих дней.
Мне действительно интересно узнать ваше мнение. Я начал с извлечения имен и удаления дубликатов. Оставив меня с массивом, подобным этому: let waiterNames = ['John','Mark','Jess'].
Затем я попытался выполнить двойной цикл for и каким-то образом создать новый массив объектов, но я застрял.
for (entry in waiterInfo) {
for (waiter in waiterNames) {
if (entry.waiters == waiter) {
???
}
}
}
waiterInfo
- это то, с чего я начинаю, newInfo
- это то, чего я хочу достичь. Мне нужно, чтобы это происходило динамически, потому что данные, взятые из базы данных, непредсказуемы.
let waiterInfo = [{ waiters: 'John', weekdays: 'Monday' },
{ waiters: 'John', weekdays: 'Tuesday' },
{ waiters: 'John', weekdays: 'Wednesday' },
{ waiters: 'Mark', weekdays: 'Monday' },
{ waiters: 'Mark', weekdays: 'Tuesday' },
{ waiters: 'Jess', weekdays: 'Monday' },
{ waiters: 'Jess', weekdays: 'Tuesday' },
{ waiters: 'Jess', weekdays: 'Wednesday' },
{ waiters: 'Jess', weekdays: 'Thursday' }]
let newInfo = [{ waiters: 'John', weekdays: 'Monday, Tuesday, Wednesday'},
{ waiters: 'Mark', weekdays: 'Monday, Tuesday' },
{ waiters: 'Jess', weekdays: 'Monday, Tuesday, Wednesday, Thursday' }]