рд╢рдмреНрдж "рд╕реНрд╡-рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХреЛрдб" рдХрд╣рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ "рдкрдардиреАрдп рдХреЛрдбред" рдЕрдкрдиреЗ рдЖрдк рд╕реЗ, рдпрд╣ рдЗрд╕ рдкреНрд░рд▓реЗрдЦрди рдпрд╛ рдЕрдЪреНрдЫреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рд╕рд╛рде рдпрд╛ рдЙрдирдХреЗ рдмрд┐рдирд╛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдЬреАрд╡рди рдФрд░ рдЖрдкрдХреЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛ред
рдЖрдЗрдП рд╕реНрд╡-рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рджреЗрдЦреЗрдВред
"рдЬрд╛рджреБрдИ рд╕рдВрдЦреНрдпрд╛" рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ
рдмрддрд╛рдУ, рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ?
if (students.length > 23) {
рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ 23 рд╕реЗ рдЕрдзрд┐рдХ рдЫрд╛рддреНрд░ рд╣реИрдВ? рдФрд░ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдареАрдХ реирей, рдФрд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ, реирек рдХрд╣реЗрдВ?
рдПрдХ рдЬрд╛рджреВ рд╕рдВрдЦреНрдпрд╛ рд╕рдВрджрд░реНрдн рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдЖрдкрдХреЛ рдЗрд╕ рд╕рдВрджрд░реНрдн рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдФрд░ рдкреНрд░рдпрд╛рд╕ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХрд╛рдо рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдПрдВ, рддреБрд░рдВрдд рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдкрджрдирд╛рдо рджреЗрдВ:
const maxClassSize = 23; if (students.length > maxClassSize) {
рдЕрдм рдХреЛрдб рдкрдврд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рд╣рдо рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ "23 рд╕реЗ рдЕрдзрд┐рдХ рдЫрд╛рддреНрд░ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ", рд▓реЗрдХрд┐рди "рдХрдХреНрд╖рд╛ рдХреЗ рдЫрд╛рддреНрд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЫрд╛рддреНрд░ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ"ред
рдЪрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рдХреНрдпреЛрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдЪрд░ рдирд╛рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрд╛рддрд╛рд░ рдбрд░рддрд╛ рдерд╛ред рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдмреЗрд╡рдХреВрдл рдерд╛, рдХреНрдпреЛрдВрдХрд┐ rStuNms рдФрд░ fStuNms r awStudentNames рдФрд░ filteredStudentNames рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рднрдпрд╛рдирдХ рд╣реИрдВред
рдХреНрдпрд╛ рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдЕрднреА рднреА рд▓рдВрдмрд╛ рд▓рдЧрддрд╛ рд╣реИ? рдлрд┐рд░ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ: 2 рд╕рдкреНрддрд╛рд╣ рдХреА рдЫреБрдЯреНрдЯреА рдХреЗ рдмрд╛рдж рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░, рдЖрдк рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЖрдзреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рднреВрд▓ рдЬрд╛рдПрдВрдЧреЗред рдЕрд░реНрдерд╛рддреН, рдЬрд╛рдиреЗ рдкрд░ рдЪрд░ рдирд╛рдо рдкрдврд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдордХреНрдЦреА рдкрд░ рдХреЛрдб рдкрдврд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ:
const fStuNms = stus.map(s => sn)
рдПрдХ рдФрд░ рдЕрдЪреНрдЫрд╛ рдЯрд┐рдк рдХрдиреНрд╡реЗрдВрд╢рди (рдирд╛рдордХрд░рдг рдкрд░рдВрдкрд░рд╛рдУрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдпрджрд┐ рдЪрд░ рдмреВрд▓рд┐рдпрди рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВ рдпрд╛ рд╣реИ ( isEnrolled: true )ред рдпрджрд┐ рдЪрд░ рдПрдХ рд╕рд░рдгреА рд╣реИ, рддреЛ рдмрд╣реБрд╡рдЪрди ( рдЫрд╛рддреНрд░реЛрдВ ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдХрдИ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдиреНрдпреВрдирддрдо рдпрд╛ рдЕрдзрд┐рдХрддрдо рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдирд╛рдо рдореЗрдВ рдПрдХ рдХреНрд░рд┐рдпрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, createSchedule рдпрд╛ updateNickname ред рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдмрд╛рдд рд╣реЛ рд░рд╣реА рд╣реИ ...
рдЫреЛрдЯреЗ рдирд╛рдорд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд┐рдЦреЗрдВ
рдЪрд░ рдХреЗрд╡рд▓ рдХреЛрдб рдкрдврд╝рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИрдВред рдПрдХ рдпреБрд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдХреЛрдб рджреЛрд╣рд░рд╛рд╡ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдореЗрд░реЗ рд▓рд┐рдП рдЕрд╕рд▓реА рд░рд╣рд╕реНрдпреЛрджреНрдШрд╛рдЯрди рдпрд╣ рдерд╛ рдХрд┐, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ , рдЗрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП ред
рдЗрд╕ рдХреЛрдб рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реЗрдХрдВрдб рд▓реЗрдВ рдФрд░ рдХрд╣реЗрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ:
const handleSubmit = (event) => { event.preventDefault(); NoteAdapter.update(currentNote) .then(() => { setCurrentAlert('Saved!') setIsAlertVisible(true); setTimeout(() => setIsAlertVisible(false), 2000); }) .then(() => { if (hasTitleChanged) { context.setRefreshTitles(true); setHasTitleChanged(false); } }); };
рдЕрдм рдХреЛрдб рдХреЗ рд▓рд┐рдП рднреА рдРрд╕рд╛ рд╣реА рдХрд░реЗрдВ:
const showSaveAlertFor = (milliseconds) => () => { setCurrentAlert('Saved!') setIsAlertVisible(true); setTimeout( () => setIsAlertVisible(false), milliseconds, ); }; const updateTitleIfNew = () => { if (hasTitleChanged) { context.setRefreshTitles(true); setHasTitleChanged(false); } }; const handleSubmit = (event) => { event.preventDefault(); NoteAdapter.update(currentNote) .then(showSaveAlertFor(2000)) .then(updateTitleIfNew); };
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХ рд╡рд░реНрдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдкрдардиреАрдп рд╣реИ, рд╣реИ рдирд╛? рддрд╛рд░реНрдХрд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдЫреЛрдЯреЗ рдирд╛рдорд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЫреЛрдЯреЗ рдХрд╛рд░реНрдп рд╕реНрд╡рдпрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИрдВ - рдпреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рд╣реИрдВред рдХреЛрдб рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рд╕рдмрд╕реЗ рдКрдкрд░реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЗрдЦреЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛рдУрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
рд▓реЗрдХрд┐рди рдЖрдЧреЗ - рдЕрдзрд┐рдХ, рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдЖрдкрдХреЛ рдПрд╣рд╕рд╛рд╕ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЫреЛрдЯреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдпрддрд╛ рдмреЗрд╣рддрд░ рдкрдардиреАрдпрддрд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ, рди рдХрд┐ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред
рдЙрдкрдпреЛрдЧреА рдкрд░реАрдХреНрд╖рдг рд╡рд┐рд╡рд░рдг рдЬреЛрдбрд╝реЗрдВ
рд╕рдВрднрд╡рддрдГ рдХрдо рд╕реЗ рдХрдо рдмрд╛рдд рдХреА рдЧрдИ рд╕реНрд╡-рдкреНрд░рд▓реЗрдЦрд┐рдд рдкрд░реАрдХреНрд╖рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реНрдпрд░реНрде рдореЗрдВред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ:
const getDailySchedule = (student, dayOfWeek) => {
рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдСрдкрд░реЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рдпрд╣ рдПрдХ рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП рд╢реЗрдбреНрдпреВрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ; рдЕрдЧрд░ рдЖрдЬ рдПрдХ рджрд┐рди рдХреА рдЫреБрдЯреНрдЯреА рд╣реИ, рддреЛ рдПрдХ рдЦрд╛рд▓реА рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ; рдпрджрд┐ рдЫрд╛рддреНрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдирд╛рдорд╛рдВрдХрд┐рдд рд╣реИ, рддреЛ рджрд┐рди рдХреЗ рдЕрдВрдд рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЖрджрд┐ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрдк рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд╕рдордЭрддреЗ рдереЗ: рдлрд╝рдВрдХреНрд╢рди рдЬрдЯрд┐рд▓ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рдо рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реАрдВ рд▓рд┐рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЗрд╕реЗ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ: рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдПрдХ рдмрд╛рд░ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реЛ рдЬрд╛рдПрдЧреА рдФрд░ рдЗрд╕ рддрдереНрдп рдХреЛ рдирд╣реАрдВ рдХрд┐ рдпрд╣ рд╕рдордп рдореЗрдВ рд╕рд╣реА рд╣реЛ рдЬрд╛рдПрдЧреАред рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдСрдкрд░реЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрд╣рд╛рдВ рддрдХ тАЛтАЛрдЙрдЪрд┐рдд рд╣реИ? рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ:
describe('getDailySchedule ', () => { it(" ", () => { it(' , ', () => { it(' ', () => {
рдпрд╣ рдХреЛрдб рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд┐рдирд╛ рдХреЛрдб рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рддрд░реАрдХрд╛ рд╣реИред
рдирд┐рдЪрд▓рд╛ рд░реЗрдЦрд╛: рдЪрддреБрд░рд╛рдИ рдХреЗ рдореБрдХрд╛рдмрд▓реЗ рдкрдардиреАрдпрддрд╛ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ
рдХреЛрдИ рднреА рдРрд╕рд╛ рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЦреБрдж рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ; рдПрдХ рдЕрдЪреНрдЫрд╛ рдбреЗрд╡рд▓рдкрд░ рдХреЛрдб рд▓рд┐рдЦрддрд╛ рд╣реИ рдЬреЛ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ ред рдХрд┐рд╕реА рдПрдХ рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЕрдиреНрдп рд▓реЛрдЧ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдкрдврд╝реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЛ рдпрдХреАрди рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдЖрдк рд╣реА рдХрд┐рд╕реА рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ, рддреЛ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдЖрдк, рдЖрдЬ рдФрд░ рдПрдХ рдорд╣реАрдиреЗ рдореЗрдВ, рдЗрд╕ рдХреЛрдб рдХреЛ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓реЛрдЧ рд╣реИрдВред