рдЕрдиреБрд╡рд╛рджрдХрдмрд╛рдЯ: рддрдкрд╛рдИрдВрдХреЛ рд▓рд╛рдЧрд┐ рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд
рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рдХрдореНрдкрдиреАрд╣рд░реВрдорд╛ рдЕрдиреНрддрд░реНрд╡рд╛рд░реНрддрд╛ рд▓рд╛рдореЛ рд╕рдордпрджреЗрдЦрд┐ рд╢рд╣рд░рдХреЛ рдЪрд░реНрдЪрд╛ рднрдПрдХреЛ рдЫред рдпреЛ рдЕрдЪрдореНрдордХреЛ рдХреБрд░рд╛ рд╣реБрдиреБ рд╣реБрдБрджреИрди - рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХ рдЕрдиреНрддрд░реНрд╡рд╛рд░реНрддрд╛ рдкрд╛рд╕ рдЧрд░реНрдирд╛рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд░рд╛рдореНрд░реЛ рдЬрд╛рдЧрд┐рд░ рдкрд╛рдЙрдиреЗ рдЕрд╡рд╕рд░ рджрд┐рдиреНрдЫред рддрд░ рдпреЛ рдзреЗрд░реИ рд╕рд░рд▓ рдЫреИрди, рдХрд┐рдирдХрд┐ рдЬрдЯрд┐рд▓ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЕрдХреНрд╕рд░ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред
рдпрд╕рдмрд╛рд╣реЗрдХ, рдкреНрд░рд╛рдпрдЬрд╕реЛ, рдпреА рдзреЗрд░реИ рдЬрд╕реЛ рдХрд╛рд░реНрдпрд╣рд░реВ рдЖрд╡реЗрджрдХрд▓реЗ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреЗ рдХрд╛рдорд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫреИрдирдиреН, рддрд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЕрдЭреИ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рддрдкрд╛рдИрд▓реЗ рдпрд╕рд▓рд╛рдИ рдмреЛрд░реНрдбрдорд╛ рдЧрд░реНрдиреБ рдкрд░реНрдЫ, Google рд╡рд╛ рдХреБрдиреИ рдЕрдиреНрдп рд╕реНрд░реЛрддрд╕рдБрдЧ рдЬрд╛рдБрдЪ рдирдЧрд░реАред рд╣реЛ, рд╕реНрдерд┐рддрд┐ рдмрд┐рд╕реНрддрд╛рд░реИ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдБрджреИрдЫ, рд░ рдХреЗрд╣рд┐ рдХрдореНрдкрдиреАрд╣рд░реВрд▓реЗ рдпрд╕реНрддрд╛ рдЕрдиреНрддрд░реНрд╡рд╛рд░реНрддрд╛рд╣рд░реВ рддреНрдпрд╛рдЧреЗрдХрд╛ рдЫрдиреН, рддрд░ рдзреЗрд░реИ рдирд┐рдпреЛрдХреНрддрд╛рд╣рд░реВ рдЕрдЭреИ рдкрдирд┐ рдпреЛ рдкрд░рдореНрдкрд░рд╛ рдкрд╛рд▓рди рдЧрд░реНрдЫрдиреНред рдпреЛ рд▓реЗрдЦ рд╕рд╛рдорд╛рдиреНрдп JavaScript рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реНрди рд╕рдорд░реНрдкрд┐рдд рдЫ рдЬреБрди рдкреНрд░рд╛рдп: рдЬрд╛рдЧрд┐рд░ рдЦреЛрдЬреНрдиреЗрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред
рд╣рд╛рдореА рд╕рдореНрдЭрд╛рдЙрдБрдЫреМрдВ: рд╕рдмреИ Habr рдкрд╛рдардХрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ - Habr рдкреНрд░реЛрдореЛ рдХреЛрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдХреБрдиреИ рдкрдирд┐ Skillbox рдкрд╛рдареНрдпрдХреНрд░рдордорд╛ рднрд░реНрдирд╛ рдЧрд░реНрджрд╛ резреж,режрежреж рд░реВрдмрд▓ рдЫреБрдЯред
Skillbox рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫ: рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрд╛рдареНрдпрдХреНрд░рдо
"рдореЛрдмрд╛рдЗрд▓ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рдкреНрд░реЛ" .
рдореБрдЦреНрдп рдХреБрд░рд╛ рддрдкрд╛рдИрдХреЛ рдЕрдиреНрддрд░реНрд╡рд╛рд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рд░рд╛рдореНрд░рд░реА рддрдпрд╛рд░реА рдЧрд░реНрдиреБ рд╣реЛред
рд╣реЛ, рд╣рд╛рдореАрд▓реЗ рдХрд╛рд░реНрдпрд╣рд░реВ рд╣реЗрд░реНрди рд╕реБрд░реБ рдЧрд░реНрдиреБ рдЕрдШрд┐, рдХреЗрд╣реА рд╕рд╛рдорд╛рдиреНрдп рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рддрдпрд╛рд░реА рд╕реБрдЭрд╛рд╡рд╣рд░реВ рд╣реЗрд░реМрдВред
рдореБрдЦреНрдп рдХреБрд░рд╛ рдЕрдЧреНрд░рд┐рдо рддрдпрд╛рд░реА рдЫред рддрдкрд╛рдИрдВрд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рд╣рд░реВ рдХрддреНрддрд┐рдХреЛ рд░рд╛рдореНрд░рд░реА рд╕рдореНрдЭрдиреБ рднрдПрдХреЛ рдЫ рднрдиреА рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд░ рддрдкрд╛рдИрдВ рдкрд░рд┐рдЪрд┐рдд рдирднрдПрдХрд╛ рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдорд╛ рдЖрдлреНрдиреЛ рдЬреНрдЮрд╛рди рд╕реБрдзрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдЕрдирд▓рд╛рдЗрди рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВ рдЫрдиреН рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЕрдиреНрддрд░реНрд╡рд╛рд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░реА рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрди рд╕рдХреНрдЫред рд╣рд╛рдореА рд╕рд▓реНрд▓рд╛рд╣ рджрд┐рдиреНрдЫреМрдВ
рдирд┐рд░реНрдгрдп рдареВрд▓реЛ рд╕реНрд╡рд░рдорд╛ рднрдиреНрди рд╕рд┐рдХреНрди рд▓рд╛рдпрдХ рдЫред рдЖрд╡реЗрджрдХрд╣рд░реВрд▓рд╛рдИ рддрдкрд╛рдЗрдБ рдХреЗ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдмрддрд╛рдЙрди рд╕рд▓реНрд▓рд╛рд╣ рджрд┐рдЗрдиреНрдЫ, рд░ рдмреЛрд░реНрдбрдорд╛ рдорд╛рддреНрд░ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН (рд╡рд╛ рдХрдореНрдкреНрдпреБрдЯрд░рдорд╛ рдХреЛрдб рдЯрд╛рдЗрдк рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЪреБрдкрдЪрд╛рдк рдкрдирд┐)ред рдпрд╕ рддрд░рд┐рдХрд╛рд▓реЗ, рдпрджрд┐ рддрдкрд╛рдЗрдБ рдХреЛрдбрдорд╛ рдЧрд▓реНрддреА рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рд╕рдорд╛рдзрд╛рди рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рд╕рд╣реА рдЫ, рддрдкрд╛рдЗрдБ рд╕рдлрд▓рддрд╛рдХреЛ рд╕рдВрднрд╛рд╡рдирд╛ рдмрдврд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рд╕реБрд░реБ рдЧрд░реНрдиреБ рдЕрдШрд┐ рддрдкрд╛рдИрдВрд▓реЗ рд╕рдорд╕реНрдпрд╛ рдмреБрдЭреНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдХреЗрд╣рд┐ рдЕрд╡рд╕реНрдерд╛рдорд╛, рддрдкрд╛рдЗрдБ рд╕рддрд╣реА рд░реВрдкрдорд╛ рдХрд╛рд░реНрдп рдмреБрдЭреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рддреНрдпрд╕рдкрдЫрд┐ рдЧрд▓рдд рдмрд╛рдЯреЛрдорд╛ рдЬрд╛рди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпреЛ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░рдХрд░реНрддрд╛рд▓рд╛рдИ рдХреЗрд╣рд┐ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рд╢реНрдирд╣рд░реВ рд╕реЛрдзреНрди рд▓рд╛рдпрдХ рд╣реБрди рд╕рдХреНрдЫред
рддрдкрд╛рдИрдВрд▓реЗ рд╣рд╛рддрд▓реЗ рдХреЛрдб рд▓реЗрдЦреНрдиреЗ рдЕрднреНрдпрд╛рд╕ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдкреАрд╕реАрдорд╛ рд╣реЛрдЗрдиред рдпрд╕реНрддреЛ рд╣реБрдиреНрдЫ рдХрд┐ рдЕрдиреНрддрд░реНрд╡рд╛рд░реНрддрд╛рдХреЛ рдХреНрд░рдордорд╛ рдЖрд╡реЗрджрдХрд▓рд╛рдИ рдорд╛рд░реНрдХрд░ рд░ рд╕реЗрддреЛрдмреЛрд░реНрдб рджрд┐рдЗрдиреНрдЫ, рдЬрд╣рд╛рдБ рдХреБрдиреИ рд╕рдВрдХреЗрдд рд╡рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдврд╛рдБрдЪрд╛ рдЫреИрдиред рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬреНрджрд╛, рдХрд╛рдЧрдЬрдХреЛ рдЯреБрдХреНрд░рд╛рдорд╛ рд╡рд╛ рд╕рд┐рдзреИ рдмреЛрд░реНрдбрдорд╛ рддрдкрд╛рдИрдВрдХреЛ рдХреЛрдб рд▓реЗрдЦреНрди рд▓рд╛рдпрдХ рдЫред рдпрджрд┐ рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрдХреЛ рджрд┐рдорд╛рдЧрдорд╛ рд╕рдмреИ рдХреБрд░рд╛ рд░рд╛рдЦреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ рдХреЗрд╣рд┐ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдмрд┐рд░реНрд╕рди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдорд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛рд░реНрдпрд╣рд░реВ
рдпреА рдордзреНрдпреЗ рдХреЗрд╣реА рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рд╛рдпрдж рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкрд╣рд┐рд▓реЗ рдиреИ рдкрд░рд┐рдЪрд┐рдд рдЫрдиреНред рддрдкрд╛рдИрдВрд▓реЗ рдпрд╛ рдд рдЕрдиреНрддрд░реНрд╡рд╛рд░реНрддрд╛ рд▓рд┐рдиреБрднрдПрдХреЛ рдЫ рдЬрд╣рд╛рдБ рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕реНрддреИ рдХреЗрд╣рд┐ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреБ рдкрд░реЗрдХреЛ рдерд┐рдпреЛ, рд╡рд╛ JavaScript рд╕рд┐рдХреНрджреИ рдЧрд░реНрджрд╛ рддрд┐рдиреАрд╣рд░реВрдорд╛ рдЕрднреНрдпрд╛рд╕ рдЧрд░реНрдиреБрднрдпреЛред рдареАрдХ рдЫ, рдЕрдм рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдлреЗрд░рд┐ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ рд╕рдордп рд╣реЛ, рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рд╡рд┐рд╕реНрддреГрдд рд╡реНрдпрд╛рдЦреНрдпрд╛рдХреЛ рд╕рд╛рдеред
рдкрд╛рд▓рд┐рдиреНрдбреНрд░реЛрдо
рдкреНрдпрд╛рд▓рд┐рдиреНрдбреНрд░реЛрдо рднрдиреЗрдХреЛ рд╢рдмреНрдж, рд╡рд╛рдХреНрдп рд╡рд╛ рд╡рд░реНрдгрд╣рд░реВрдХреЛ рдЕрдиреБрдХреНрд░рдо рд╣реЛ рдЬреБрди рд╕рд╛рдорд╛рдиреНрдп рджрд┐рд╢рд╛ рд░ рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛рдорд╛ рдареНрдпрд╛рдХреНрдХреИ рдЙрд╕реНрддреИ рдкрдврд┐рдиреНрдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, "рдЕрдиреНрдирд╛" рдПрдХ рдкреНрдпрд╛рд▓рд┐рдиреНрдбреНрд░реЛрдо рд╣реЛ, рддрд░ "рдЯреЗрдмрд▓" рд░ "рдЬреЛрди" рд╣реЛрдЗрдиред
рд╕реНрдЯреЗрдЬрд┐рдВрдЧ
рд╕реНрдЯреНрд░рд┐рдЩ рджрд┐рдЗрдПрдХреЛ; рддрдкрд╛рдИрдБрд▓реЗ рдПрдЙрдЯрд╛ рдкреНрд░рдХрд╛рд░реНрдп рд▓реЗрдЦреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдБрд▓рд╛рдИ рдпрджрд┐ рд╕реНрдЯреНрд░рд┐рдЩ рдкреНрдпрд╛рд▓рд┐рдиреНрдбреНрд░реЛрдо рд╣реЛ рднрдиреЗ рд╕рд╣реА рдлрд░реНрдХрд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рд░ рдпрджрд┐ рд╣реЛрдЗрди рднрдиреЗ рдЧрд▓рддред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдЦрд╛рддрд╛ рдЦрд╛рд▓реА рдард╛рдЙрдБрд╣рд░реВ рд░ рд╡рд┐рд░рд╛рдо рдЪрд┐рд╣реНрдирд╣рд░реВ рд▓рд┐рди рдЖрд╡рд╢реНрдпрдХ рдЫред
palindrome('racecar') === рд╕рддреНрдп
palindrome('table') === рдЧрд▓рдд
рдХрд╛рд░реНрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реМрдВ
рдпрд╣рд╛рдБ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рд╕реНрдЯреНрд░рд┐рдЩ рдЙрд▓реНрдЯреЛ рдЫред рдпрджрд┐ "рд░рд┐рднрд░реНрд╕" рд╕реНрдЯреНрд░рд┐рдЩ рдореВрд▓рд╕рдБрдЧ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╕рдорд╛рди рдЫ рднрдиреЗ, рд╣рд╛рдореАрд▓реЗ рдПрдЙрдЯрд╛ рдкреНрдпрд╛рд▓рд┐рдиреНрдбреНрд░реЛрдо рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗрдХрд╛ рдЫреМрдВ рд░ рдкреНрд░рдХрд╛рд░реНрдп рд╕рддреНрдпрдорд╛ рдлрд░реНрдХрдиреБрдкрд░реНрдЫред рдпрджрд┐ рд╣реЛрдЗрди рднрдиреЗ, рдЧрд▓рддред
рдирд┐рд░реНрдгрдп
рдпрд╣рд╛рдБ рдХреЛрдб рд╣реЛ рдЬрд╕рд▓реЗ рдкреНрдпрд╛рд▓рд┐рдиреНрдбреНрд░реЛрдо рд╕рдорд╛рдзрд╛рди рдЧрд░реНрджрдЫред
const palindrome = str => {
// turn the string to lowercase
str = str.toLowerCase()
// reverse input string and return the result of the
// comparisong
return str === str.split('').reverse().join('')
}
рдкрд╣рд┐рд▓реЛ рдЪрд░рдг рднрдиреЗрдХреЛ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░рд┐рдЩрдорд╛ рднрдПрдХрд╛ рдЕрдХреНрд╖рд░рд╣рд░реВрд▓рд╛рдИ рд╕рд╛рдиреЛ рдЕрдХреНрд╖рд░рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреБ рд╣реЛред рдпреЛ рдПрдХ рдЧреНрдпрд╛рд░реЗрдиреНрдЯреА рд╣реЛ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдорд▓реЗ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рдЖрдлреИрдВ рддреБрд▓рдирд╛ рдЧрд░реНрдиреЗрдЫ, рд░ рдХреЗрд╕ рд╡рд╛ рдЕрд░реВ рдХреЗрд╣рд┐ рд╣реЛрдЗрдиред
рджреЛрд╕реНрд░реЛ рдЪрд░рдг рднрдиреЗрдХреЛ рд░реЗрдЦрд╛ рдЙрд▓реНрдЯрд╛рдЙрдиреБ рд╣реЛред рдпреЛ рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рдЫреИрди: рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ .split() рд╡рд┐рдзрд┐ (рд╕реНрдЯреНрд░рд┐рдЩ рд▓рд╛рдЗрдмреНрд░реЗрд░реА) рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдПрд░реЗрдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рддреНрдпрд╕рдкрдЫрд┐ рд╣рд╛рдореА .reverse() (Array library) рдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ array рд▓рд╛рдИ рд░рд┐рднрд░реНрд╕ рдЧрд░реНрдЫреМрдВред рдЕрдиреНрддрд┐рдо рдЪрд░рдг рднрдиреЗрдХреЛ .join() (Array library) рдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд░рд┐рднрд░реНрд╕ рдПрд░реЗрд▓рд╛рдИ рд╕реНрдЯреНрд░рд┐рдЩрдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреБ рд╣реЛред
рдЕрдм рддрдкрд╛рдИрд▓реЗ рдЧрд░реНрдиреБ рдкрд░реНрдиреЗ рднрдиреЗрдХреЛ "рд░рд┐рднрд░реНрд╕" рд╕реНрдЯреНрд░рд┐рдЩрд▓рд╛рдИ рдореВрд▓ рд╕реНрдЯреНрд░рд┐рдЩрд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░реНрдиреБ рд╣реЛ, рдирддрд┐рдЬрд╛ рд╕рд╣реА рд╡рд╛ рдЧрд▓рдд рдлрд░реНрдХрд╛рдПрд░ред
FizzBuzz
рдЕрдиреНрддрд░реНрд╡рд╛рд░реНрддрд╛рдорд╛ рд╕рдмреИрднрдиреНрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рдХрд╛рд░реНрдпрд╣рд░реВ рдордзреНрдпреЗ рдПрдХред
рд╕реНрдЯреЗрдЬрд┐рдВрдЧ
рддрдкрд╛рдИрд▓реЗ рдПрдЙрдЯрд╛ рдкреНрд░рдХрд╛рд░реНрдп рд▓реЗрдЦреНрдиреБ рдкрд░реНрдЫ рдЬрд╕рд▓реЗ 1 рджреЗрдЦрд┐ n рд╕рдореНрдордХреЛ рд╕рдВрдЦреНрдпрд╛рд╣рд░реВ рдХрдиреНрд╕реЛрд▓рдорд╛ рдкреНрд░рд┐рдиреНрдЯ рдЧрд░реНрджрдЫ, рдЬрд╣рд╛рдБ n рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реЛ рдЬреБрди рдкреНрд░рдХрд╛рд░реНрдпрд▓реЗ рдирд┐рдореНрди рд╕рд░реНрддрд╣рд░реВрд╕рдБрдЧ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рдХреЛ рд░реВрдкрдорд╛ рд▓рд┐рдиреНрдЫ:
- 3 рдХреЛ рдЧреБрдгрдирд╣рд░реВрдХреЛ рд╕рдЯреНрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдлрд┐рдЬ;
- 5 рдХреЛ рдЧреБрдгрди рднрдПрдХрд╛ рд╕рдВрдЦреНрдпрд╛рд╣рд░реВрдХреЛ рд╕рдЯреНрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдмрдЬ;
- 3 рд░ 5 рджреБрд╡реИ рдХреЛ рдЧреБрдгрди рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдЯреНрдЯрд╛ fizzbuzz рдЖрдЙрдЯрдкреБрдЯред
рдЙрджрд╛рд╣рд░рдг:
Fizzbuzz(5)
рдкрд░рд┐рдгрд╛рдо
// реирежреж 1
// реирежреж 2
// рдлрд┐рдЬ
// реирежреж 4
//buzz
рдХрд╛рд░реНрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реМрдВ
рдпрд╣рд╛рдБ рдореБрдЦреНрдп рдХреБрд░рд╛ рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЧреБрдгрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреЗ рддрд░рд┐рдХрд╛ рд╣реЛред рдпрд╕рд▓рд╛рдИ рдореЛрдбреБрд▓рд╕ рдЕрдкрд░реЗрдЯрд░ рд╡рд╛ рдмрд╛рдБрдХреА - % рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рджреБрдИ рд╕рдВрдЦреНрдпрд╛рд╣рд░реВ рд╡рд┐рднрд╛рдЬрди рдЧрд░реНрджрд╛ рдмрд╛рдБрдХреА рджреЗрдЦрд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдпрджрд┐ рдмрд╛рдБрдХреА реж рд╣реЛ рднрдиреЗ, рдпрд╕рдХреЛ рдорддрд▓рдм рдкрд╣рд┐рд▓реЛ рдирдореНрдмрд░ рджреЛрд╕реНрд░реЛрдХреЛ рдЧреБрдгрди рд╣реЛред
12% 5 // 2 -> 12 5 рдХреЛ рдЧреБрдгрди рд╣реЛрдЗрди
12% 3 // 0 -> 12 3 рдХреЛ рдЧреБрдгрди рд╣реЛ
рддреНрдпрд╕реЛрднрдП, рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ 12 рд▓рд╛рдИ 5 рджреНрд╡рд╛рд░рд╛ рднрд╛рдЧ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ 2 рдХреЛ рдмрд╛рдБрдХреАрд╕рдБрдЧ 2 рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реБрдиреНрдЫред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ 12 рд▓рд╛рдИ 3 рджреНрд╡рд╛рд░рд╛ рднрд╛рдЧ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ 4 рдХреЛ рдмрд╛рдБрдХреАрд╕рдБрдЧ 0 рдкрд╛рдЙрдиреБрд╣реБрдиреЗрдЫред рдкрд╣рд┐рд▓реЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, 12 5 рдХреЛ рдЧреБрдгрди рд╣реЛрдЗрди, рджреЛрд╕реНрд░реЛрдорд╛ , 12 3 рдХреЛ рдЧреБрдгрди рд╣реЛред
рдирд┐рд░реНрдгрдп
рдЗрд╖реНрдЯрддрдо рд╕рдорд╛рдзрд╛рди рдирд┐рдореНрди рдХреЛрдб рд╣реБрдиреЗрдЫ:
const fizzBuzz = num => {
for(let i = 1; i <= num; i++) {
// check if the number is a multiple of 3 and 5
if(i % 3 === 0 && i % 5 === 0) {
console.log('fizzbuzz')
} // check if the number is a multiple of 3
else if(i % 3 === 0) {
console.log('fizz')
} // check if the number is a multiple of 5
else if(i % 5 === 0) {
console.log('buzz')
} else {
console.log(i)
}
}
}
рдкреНрд░рдХрд╛рд░реНрдпрд▓реЗ рд╕рд╢рд░реНрдд рдХрдердирд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдБрдЪрд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрджрдЫ рд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рдгрд╛рдорд╣рд░реВ рдЙрддреНрдкрд╛рджрди рдЧрд░реНрджрдЫред рд╕рдорд╕реНрдпрд╛рдорд╛, if...else рдХрдердирд╣рд░реВрдХреЛ рдХреНрд░рдордорд╛ рдзреНрдпрд╛рди рджрд┐рди рд▓рд╛рдпрдХ рдЫ: рджреЛрд╣реЛрд░реЛ рдЕрд╡рд╕реНрдерд╛ (&&) рдмрд╛рдЯ рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдзреЗрд░реИ рд╕рдВрдЦреНрдпрд╛рд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдПрди рднрдиреЗ рдХреЗрд╕рд╕рдБрдЧ рдЕрдиреНрддреНрдп рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рд╣рд╛рдореА рд╕рдмреИ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдХрднрд░ рдЧрд░реНрдЫреМрдВред
рдПрдирд╛рдЧреНрд░рд╛рдо
рдпреЛ рдПрдЙрдЯрд╛ рд╢рдмреНрджрдХреЛ рдирд╛рдо рд╣реЛ рдЬрд╕рдорд╛ рдЕрд░реНрдХреЛ рд╢рдмреНрджрдХрд╛ рд╕рдмреИ рдЕрдХреНрд╖рд░рд╣рд░реВ рдПрдЙрдЯреИ рдирдореНрдмрд░рдорд╛ рд╣реБрдиреНрдЫрдиреН рддрд░ рдлрд░рдХ рдХреНрд░рдордорд╛ред
рд╕реНрдЯреЗрдЬрд┐рдВрдЧ
рд╣рд╛рдореАрд▓реЗ рдПрдЙрдЯрд╛ рдкреНрд░рдХрд╛рд░реНрдп рд▓реЗрдЦреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рдЬрд╕рд▓реЗ рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫ рдХрд┐ рджреБрдИ рд╕реНрдЯреНрд░рд┐рдЩ рдПрдирд╛рдЧреНрд░рд╛рдо рд╣реЛ рдХрд┐ рдЫреИрди, рд░ рдХреЗрд╕ рдлрд░рдХ рдкрд░реНрджреИрдиред рдХреЗрд╡рд▓ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рдЧрдирд┐рдиреНрдЫрдиреН; рдЦрд╛рд▓реА рдард╛рдЙрдБрд╣рд░реВ рд╡рд╛ рд╡рд┐рд░рд╛рдо рдЪрд┐рдиреНрд╣рд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦрд┐рдПрдХреЛ рдЫреИрдиред
anagram('finder', 'Friend') тАФ> рд╕рд╛рдБрдЪреЛ
anagram ('hello', 'bye') -> рдЧрд▓рдд
рдХрд╛рд░реНрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реМрдВ
рдпрд╣рд╛рдБ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрди рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХреБрд░рд╛ рдпреЛ рд╣реЛ рдХрд┐ рддрдкрд╛рдИрдВрд▓реЗ рджреБрдИ рдЗрдирдкреБрдЯ рд▓рд╛рдЗрдирд╣рд░реВрдорд╛ рдкреНрд░рддреНрдпреЗрдХ рдЕрдХреНрд╖рд░ рд░ рдкреНрд░рддреНрдпреЗрдХ рд▓рд╛рдЗрдирдорд╛ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред
рдЦреЛрдЬрдХрд░реНрддрд╛ -> f: 1 рдорд┐рддреНрд░ -> f: 1
i: 1 r: 1
n: 1 i: 1
d: 1 e: 1
e: 1 n: 1
r: 1 d: 1
рдПрдирд╛рдЧреНрд░рд╛рдо рдбрд╛рдЯрд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╕реНрддреБ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдкрдорд╛ рд╕рдВрд░рдЪрдирд╛ рдЫрд╛рдиреНрдиреБрдкрд░реНрдЫред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдХреБрдЮреНрдЬреА рдЕрдХреНрд╖рд░рдХреЛ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ рд╣реЛ, рдорд╛рди рд╣рд╛рд▓рдХреЛ рд░реЗрдЦрд╛рдорд╛ рдпрд╕рдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рд╣реЛред
рддреНрдпрд╣рд╛рдБ рдЕрдиреНрдп рд╕рд░реНрддрд╣рд░реВ рдЫрдиреН:
- рддрдкрд╛рдИрдВрд▓реЗ рдпреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рдХрд┐ рддреБрд▓рдирд╛ рдЧрд░реНрджрд╛ рдЕрдХреНрд╖рд░рд╣рд░реВрдХреЛ рдХреЗрд╕рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦрд┐рдПрдХреЛ рдЫреИрдиред рд╣рд╛рдореА рджреБрдмреИ рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВрд▓рд╛рдИ рддрд▓реНрд▓реЛ рд╡рд╛ рдорд╛рдерд┐рд▓реНрд▓реЛ рдХреЗрд╕рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдЫреМрдВред
- рд╣рд╛рдореА рддреБрд▓рдирд╛рдмрд╛рдЯ рд╕рдмреИ рдЧреИрд░-рд╡рд░реНрдгрд╣рд░реВрд▓рд╛рдИ рдмрд╣рд┐рд╖реНрдХрд╛рд░ рдЧрд░реНрдЫреМрдВред рд╕рдВрдЧ рдХрд╛рдо рдЧрд░реНрди рд╕рдмреИ рднрдиреНрджрд╛ рд░рд╛рдореНрд░реЛ
рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ .
рдирд┐рд░реНрдгрдп
// helper function that builds the
// object to store the data
const buildCharObject = str => {
const charObj = {}
for(let char of str.replace(/[^w]/g).toLowerCase()) {
// if the object has already a key value pair
// equal to the value being looped over,
// increase the value by 1, otherwise add
// the letter being looped over as key and 1 as its value
charObj[char] = charObj[char] + 1 || 1
}
return charObj
}
// main function
const anagram = (strA, strB) => {
// build the object that holds strA data
const aCharObject = buildCharObject(strA)
// build the object that holds strB data
const bCharObject = buildCharObject(strB)
// compare number of keys in the two objects
// (anagrams must have the same number of letters)
if(Object.keys(aCharObject).length !== Object.keys(bCharObject).length) {
return false
}
// if both objects have the same number of keys
// we can be sure that at least both strings
// have the same number of characters
// now we can compare the two objects to see if both
// have the same letters in the same amount
for(let char in aCharObject) {
if(aCharObject[char] !== bCharObject[char]) {
return false
}
}
// if both the above checks succeed,
// you have an anagram: return true
return true
}
рдЙрдкрдпреЛрдЧ рдорд╛ рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН
['f', 'i', 'n', 'd', 'e', тАЛтАЛ'r']
рдпрд╕рд░реА рд╣рд╛рдореАрд▓реЗ рдмрд▓реНрдХ рд▓реВрдк рдирдЧрд░реАрдХрди рд╡рд╕реНрддреБрдХреЛ рдЧреБрдгрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫреМрдВред рдХреБрдиреИ рд╕рдорд╕реНрдпрд╛рдорд╛, рддрдкрд╛рдИрд▓реЗ рдпреЛ рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ .length рдЧреБрдгрд╕рдБрдЧ рджреБрдмреИ рд╕реНрдЯреНрд░рд┐рдЩрдорд╛ рдПрдЙрдЯреИ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рдЫрдиреН рдХрд┐ рдЫреИрдирдиреН рднрдиреЗрд░ рдЬрд╛рдБрдЪ рдЧрд░реНрди - рдпреЛ рдПрдирд╛рдЧреНрд░рд╛рдордХреЛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛред
рд╕реНрд╡рд░рд╣рд░реВ рдЦреЛрдЬреНрдиреБрд╣реЛрд╕реН
рдПрдХ рдПрдХрджрдо рд╕рд░рд▓ рдХрд╛рд░реНрдп рдЬреБрди рдЕрдХреНрд╕рд░ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдорд╛ рдЖрдЙрдБрдЫред
рд╕реНрдЯреЗрдЬрд┐рдВрдЧ
рддрдкрд╛рдИрдВрд▓реЗ рдПрдЙрдЯрд╛ рдкреНрд░рдХрд╛рд░реНрдп рд▓реЗрдЦреНрдиреБ рдкрд░реНрдЫ рдЬрд╕рд▓реЗ рд╕реНрдЯреНрд░рд┐рдЩрд▓рд╛рдИ рддрд░реНрдХрдХреЛ рд░реВрдкрдорд╛ рд▓рд┐рдиреНрдЫ рд░ рд╕реНрдЯреНрд░рд┐рдЩрдорд╛ рд╕рдорд╛рд╡реЗрд╢ рднрдПрдХрд╛ рд╕реНрд╡рд░рд╣рд░реВрдХреЛ рд╕рдЩреНрдЦреНрдпрд╛ рдлрд░реНрдХрд╛рдЙрдБрдЫред
рд╕реНрд╡рд░рд╣рд░реВ тАЬaтАЭ, тАЬeтАЭ, тАЬiтАЭ, тАЬoтАЭ, тАЬuтАЭ рд╣реБрдиреНред
рдЙрджрд╛рд╣рд░рдг:
FindVowels('hello') // тАФ> реи
FindVowels('рдХрд┐рди') // тАФ> реж
рдирд┐рд░реНрдгрдп
рдпрд╣рд╛рдБ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рдЫ:
const findVowels = str => {
let count = 0
const vowels = ['a', 'e', 'i', 'o', 'u']
for(let char of str.toLowerCase()) {
if(vowels.includes(char)) {
count++
}
}
return count
}
.includes() рд╡рд┐рдзрд┐рдХреЛ рдкреНрд░рдпреЛрдЧрдорд╛ рдзреНрдпрд╛рди рджрд┐рдиреБ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫред рдпреЛ рд╕реНрдЯреНрд░рд┐рдЩ рд░ arrays рджреБрд╡реИ рд▓рд╛рдЧрд┐ рдЙрдкрд▓рдмреНрдз рдЫред рдПрд░реЗрдорд╛ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рди рд╕рдорд╛рд╡реЗрд╢ рдЫ рдХрд┐ рдЫреИрди рднрдиреА рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рдпреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреБрдкрд░реНрдЫред рдпрджрд┐ рдПрд░реЗрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рди рд╕рдорд╛рд╡реЗрд╢ рдЫ рднрдиреЗ рдпреЛ рд╡рд┐рдзрд┐ рд╕рд╣реА рд╣реБрдиреНрдЫ, рд░ рдпрджрд┐ рдЫреИрди рднрдиреЗ рдЧрд▓рддред
рд╕рдорд╕реНрдпрд╛рдХреЛ рдЫреЛрдЯреЛ рд╕рдорд╛рдзрд╛рди рдЫ:
const findVowels = str => {
const matched = str.match(/[aeiou]/gi)
return matched ? matches.length : 0
}
рдпрд╕рд▓реЗ .match() рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреБрд╢рд▓ рдЦреЛрдЬ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдпрджрд┐ рд╡рд┐рдзрд┐ рддрд░реНрдХрдХреЛ рд░реВрдкрдорд╛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдЯреНрд░рд┐рдЩ рднрд┐рддреНрд░ рдлреЗрд▓рд╛ рдкрд░реНрдпреЛ рднрдиреЗ, рдлрд┐рд░реНрддрд╛ рдорд╛рди рдорд┐рд▓реНрджреЛ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрдХреЛ рдПрд░реЗ рд╣реЛред рдард┐рдХ рдЫ, рдпрджрд┐ рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдореЗрд▓ рдЫреИрди рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ .match() рд╢реВрдиреНрдп рдлрд░реНрдХрд╛рдЙрдБрдЫред
рдлрд┐рдмреЛрдирд╛рдЪреА
рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдХрд╛рд░реНрдп рдЬреБрди рд╡рд┐рднрд┐рдиреНрди рд╕реНрддрд░рд╣рд░реВрдорд╛ рдЕрдиреНрддрд░реНрд╡рд╛рд░реНрддрд╛рд╣рд░реВрдорд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫред рдпреЛ рдпрд╛рдж рдЧрд░реНрди рд▓рд╛рдпрдХ рдЫ рдХрд┐ рдлрд┐рдмреЛрдирд╛рдЪреА рдЕрдиреБрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛рд╣рд░реВрдХреЛ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реЛ рдЬрд╣рд╛рдБ рдкреНрд░рддреНрдпреЗрдХ рдкрдЫрд┐рдХреЛ рдПрдХ рдЕрдШрд┐рд▓реНрд▓реЛ рджреБрдИ рдХреЛ рдпреЛрдЧ рд╣реЛред рддреНрдпрд╕реЛрднрдП, рдкрд╣рд┐рд▓реЛ рджрд╕ рдирдореНрдмрд░рд╣рд░реВ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫрдиреН: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34ред
рд╕реНрдЯреЗрдЬрд┐рдВрдЧ
рддрдкрд╛рдИрд▓реЗ рдПрдЙрдЯрд╛ рдкреНрд░рдХрд╛рд░реНрдп рд▓реЗрдЦреНрдиреБ рдкрд░реНрдЫ рдЬрд╕рд▓реЗ рдирд┐рд╢реНрдЪрд┐рдд рдЕрдиреБрдХреНрд░рдордорд╛ n рдФрдВ рд░реЗрдХрд░реНрдб рдлрд░реНрдХрд╛рдЙрдБрдЫ, n рдХреЛ рд╕рдВрдЦреНрдпрд╛ рд╣реЛ рдЬреБрди рдкреНрд░рдХрд╛рд░реНрдпрдорд╛ рддрд░реНрдХрдХреЛ рд░реВрдкрдорд╛ рдкрд╛рд░рд┐рдд рд╣реБрдиреНрдЫред
рдлрд┐рдмреЛрдирд╛рдЪреА(рей) // тАФ> реи
рдпреЛ рдХрд╛рд░реНрдпрд▓реЗ рддрд░реНрдХрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рд╕рдВрдЦреНрдпрд╛рдХреЛ рд▓реВрдк рдорд╛рд░реНрдлрдд рд╣рд┐рдбреНрдиреЗ, рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд┐рддрд┐рдорд╛ рдорд╛рди рдлрд┐рд░реНрддрд╛ рдЧрд░реНрдиреЗ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рд╕рдорд╕реНрдпрд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНрдиреЗ рдпреЛ рддрд░рд┐рдХрд╛рд▓реЗ рд▓реВрдкрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧ рдЖрд╡рд╢реНрдпрдХ рдЫред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдпрд╕рдХреЛ рд╕рдЯреНрдЯрд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпрд╕рд▓реЗ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░рдХрд░реНрддрд╛рд▓рд╛рдИ рдЦреБрд╢реА рдкрд╛рд░реНрди рд╕рдХреНрдЫ рд░ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдХреЗрд╣рд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдВрдХрд╣рд░реВ рджрд┐рди рд╕рдХреНрдЫред
рдирд┐рд░реНрдгрдп
const fibonacci = num => {
// store the Fibonacci sequence you're going
// to generate inside an array and
// initialize the array with the first two
// numbers of the sequence
const result = [0, 1]
for(let i = 2; i <= num; i++) {
// push the sum of the two numbers
// preceding the position of i in the result array
// at the end of the result array
const prevNum1 = result[i - 1]
const prevNum2 = result[i - 2]
result.push(prevNum1 + prevNum2)
}
// return the last value in the result array
return result[num]
}
рдирддрд┐рдЬрд╛ рдПрд░реЗрдорд╛, рдкрд╣рд┐рд▓реЛ рджреБрдИ рдирдореНрдмрд░рд╣рд░реВ рд╢реНрд░реГрдВрдЦрд▓рд╛рдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреН рдХрд┐рдирднрдиреЗ рдЕрдиреБрдХреНрд░рдордорд╛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЕрдШрд┐рд▓реНрд▓реЛ рджреБрдИ рд╕рдВрдЦреНрдпрд╛рд╣рд░реВрдХреЛ рдпреЛрдЧ рд╣реЛред рд╕реБрд░реБрдорд╛ рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рджреБрдИ рдирдореНрдмрд░рд╣рд░реВ рдЫреИрдирдиреН рдЬреБрди рдЕрд░реНрдХреЛ рдирдореНрдмрд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд▓рд┐рди рд╕рдХрд┐рдиреНрдЫ, рддреНрдпрд╕реИрд▓реЗ рд▓реВрдкрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд╕рдХреНрджреИрдиред рддрд░, рд╣рд╛рдореАрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ, рдкрд╣рд┐рд▓реЛ рджреБрдИ рдирдореНрдмрд░рд╣рд░реВ рд╕рдзреИрдВ реж рд░ рез рд╣реБрдиреНрдЫрдиреНред рддреНрдпрд╕реИрд▓реЗ, рддрдкрд╛рдИрдБрд▓реЗ рдирддрд┐рдЬрд╛ рдПрд░реЗрд▓рд╛рдИ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдкреНрд░рд╛рд░рдореНрдн рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдХреЛ рд▓рд╛рдЧрд┐, рд╕рдмреИ рдХреБрд░рд╛ рдПрдХреИ рд╕рдордпрдорд╛ рд╕рд░рд▓ рд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЫ:
const fibonacci = num => {
// if num is either 0 or 1 return num
if(num < 2) {
return num
}
// recursion here
return fibonacci(num - 1) + fibonacci(num - 2)
}
рд╣рд╛рдореА fibonacci() рд▓рд╛рдИ рдХрд▓ рдЧрд░рд┐рд░рд╣рдиреНрдЫреМрдВ, рд╕рд╛рдирд╛ рд░ рд╕рд╛рдирд╛ рд╕рдВрдЦреНрдпрд╛рд╣рд░реВ рддрд░реНрдХрдХреЛ рд░реВрдкрдорд╛ рдкрд╛рд░ рдЧрд░реНрджреИред рдЬрдм рдкрд╛рд╕ рдЧрд░рд┐рдПрдХреЛ рддрд░реНрдХ реж рд╡рд╛ рез рд╣реБрдиреНрдЫ рд╣рд╛рдореА рд░реЛрдХреНрдЫреМрдВред
рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛
рд╕рдореНрднрд╡рддрдГ, рдпрджрд┐ рддрдкрд╛рдЗрдБ рдлреНрд░рдиреНрдЯрдПрдиреНрдб рд╡рд╛ JavaScript рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреНрддрд░реНрд╡рд╛рд░реНрддрд╛ рд▓рд┐рдиреБрднрдПрдХреЛ рдЫ рднрдиреЗ (рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдпрджрд┐ рдпреЛ рдЬреБрдирд┐рдпрд░ рд╕реНрддрд░рдорд╛ рд╣реЛ рднрдиреЗ) рддрдкрд╛рдЗрдБрд▓реЗ рдпреА рдХрд╛рд░реНрдпрд╣рд░реВ рдордзреНрдпреЗ рдХреБрдиреИ рдкрдирд┐ рд╕рд╛рдордирд╛ рдЧрд░реНрдиреБрднрдПрдХреЛ рдЫред рддрд░ рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рднреЗрдЯреНрдиреБрднрдПрди рднрдиреЗ, рддрд┐рдиреАрд╣рд░реВ рднрд╡рд┐рд╖реНрдпрдорд╛ рдЙрдкрдпреЛрдЧреА рд╣реБрди рд╕рдХреНрдЫрдиреН - рдХрдореНрддрд┐рдорд╛ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдХрд╛рд╕рдХреЛ рд▓рд╛рдЧрд┐ред
Skillbox рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫ:
- рдЕрдирд▓рд╛рдЗрди рдкрд╛рдареНрдпрдХреНрд░рдо рд▓рд╛рдЧреВ рдЧрд░рд┐рдпреЛ
"рдкрд╛рдЗрдерди рдбрд╛рдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ" .- рдЕрдирд▓рд╛рдЗрди рдХреЛрд░реНрд╕
"рдкреЗрд╢реЗ рдлреНрд░рдиреНрдЯрдПрдиреНрдб рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛" .- рдПрдХ рд╡рд░реНрд╖рдХреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрд╛рдареНрдпрдХреНрд░рдо
"0 рджреЗрдЦрд┐ PRO рдорд╛ PHP рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛" .
рд╕реНрд░реЛрдд: www.habr.com