D
Size: a a a
D
MS
MS
MS
S🛸
RS
const obj = {вам нужно часто проходить по всем полям на последнем уровне вложенности.
a: {
b: [{target: '0'}, {target: '1'}],
c: {'target: '2'},
},
d: {'target: '2'},
};
{target: ''}
.{теперь без рекурсии я могу бегать по полям сколько хочу.
a.b[0]: {}
a.b[1]: {}
a.c: {}
}
B
PS
for (let day of weekdays)условие раньше срабатывало иначе и даты назначались корректно, например если сегодня понедельник и переданный массив [1, 3, 5], то дата назналась с понедельника и следующее занятие среда, затем пятница
function assignWorkoutDates(programStart, weekdays, workouts) {
let currentDate = programStart
for (let workout of workouts) {
if (workout.finished) {
continue
}
let weekday
for (let day of weekdays) {
if (currentDate.isoWeekday() <= day) {
weekday = day
break
}
}
if (!weekdays.includes(weekday)) {
weekday = weekdays[0]
}
console.warn(currentDate.format('DD-MM'))
// Вычисляем дату следующего занятия.
if (currentDate.isoWeekday() <= weekday) {
currentDate = moment(currentDate).isoWeekday(weekday)
} else {
console.log('else')
currentDate = moment(currentDate)
.add(1, 'weeks')
.isoWeekday(weekday)
}
console.log(weekday)
console.error(currentDate.format('DD-MM'))
workout.start = currentDate.format('YYYY-MM-DD')
workout.end = currentDate.format('YYYY-MM-DD')
workout.finished = false
}
return workouts
}
АИ
MS
АЗ
АИ
A
A
АИ
АИ
АИ
NR
CM