рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд

рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓реЗрдЦрдХ, рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдЖрдЬ рд╣рдо рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рдмрд╛рдж рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП, рд╕рд┐рд╕реНрдЯрдо рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ред рдЬреЙрди рдСрд╕реНрдЯрд░рд╣реЙрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЬрдЯрд┐рд▓рддрд╛ рд╡рд╣ рд╣реИ рдЬреЛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рд╕рдордЭрдирд╛ рдпрд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдХрдард┐рди рдмрдирд╛ рджреЗрддреА рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рдХреБрдЫ рд╢реЛрдз рдкреВрд░рд╛ рдХрд░рдХреЗ, рдкреНрд░рддрд┐рд░рдХреНрд╖рд╛ рдФрд░ рд╢реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ рдЬреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХреАред рдРрд╕реА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдХреЛ рдРрд╕реЗ рдХрд╛рд░реНрдп рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕рдорд░реНрдерди рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдХреБрдЫ рдЕрдиреНрдп рд▓рд╛рдн рджреЗрддрд╛ рд╣реИ ред

рдЫрд╡рд┐

рдпрд╣рд╛рдВ рд╣рдо рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ рдЗрд╕рдХреЗ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕рднреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛ред

рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреНрдпрд╛ рд╣реИ?


рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЕрд░реНрдерд╛рддреН, рд╣рдо рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рддрд┐рдорд╛рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЧрдгрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрд╛рдж рдХреА рдЧрдгрд┐рддреАрдп рд╕рдордЭ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд╕реНрд░реЛрдд рдбреЗрдЯрд╛ рдФрд░ рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рднрдВрдбрд╛рд░рдг рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдпрд╣ рдЗрд╕ рд░рд╛рдЬреНрдп рдХреА рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓рддрд╛ рдХрд╛ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред

рдЕрдм, рдЙрджрд╛рд╣рд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╣рдо рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред

рд╢реБрджреНрдз рдХрд╛рд░реНрдп


рд╢реБрджреНрдз рдХрд╛рд░реНрдп рдкрд╣рд▓реА рдореМрд▓рд┐рдХ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╕рд╛рд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

"рд╢реБрджреНрдз рдХрд╛рд░реНрдп" рдХреНрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдПрдХ рд╕рдорд╛рд░реЛрд╣ "рд╕реНрд╡рдЪреНрдЫ" рдмрдирд╛рддрд╛ рд╣реИ? рдПрдХ рд╢реБрджреНрдз рдХрд╛рд░реНрдп рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

  • рдпрд╣ рд╣рдореЗрд╢рд╛ рд▓реМрдЯрддрд╛ рд╣реИ, рдЬрдм рдЙрд╕реА рддрд░реНрдХ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╣реА рдкрд░рд┐рдгрд╛рдо (рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рдпрддрд╛рддреНрдордХ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
  • рдЗрд╕ рддрд░рд╣ рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

рд╢реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХреА рдкрд╣рд▓реА рд╕рдВрдкрддреНрддрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЕрд░реНрдерд╛рддреН рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ, рдЬрдм рдЙрди рдкрд░ рдПрдХ рд╣реА рддрд░реНрдХ рдкрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред

тЦН рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ рдФрд░ рд╡рд╛рдкрд╕реА рдорд╛рди


рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╕рд░реНрдХрд▓ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рд╢реБрджреНрдз рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рд░реНрдХрд▓ ( radius ) рдХреА radius , рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╡рд╣ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ radius * radius * PI рдХреА рдЧрдгрдирд╛ рдХрд╛ рдорд╛рди рд▓реМрдЯрд╛рдПрдЧрд╛:

 const PI = 3.14; function calculateArea(radius) { return radius * radius * PI; } calculateArea(10); //  314 

рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╢реБрджреНрдз рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдм рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдХреБрдЫ рдЧрдгрд┐рддрдЬреНрдЮ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪреЗ рдХрд┐ рдирд┐рд░рдВрддрд░ PI рдХрд╛ рдорд╛рди 42 рдирдВрдмрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рдорд╛рди рдмрджрд▓ рдЧрдпрд╛ рдерд╛ред

рдЕрдм рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рд╢реБрджреНрдз рдирд╣реАрдВ рд╣реИ, рдЬрдм рдЗрд╕реЗ рдЙрд╕реА рдЗрдирдкреБрдЯ рдорд╛рди рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдВрдЦреНрдпрд╛ 10 , рдорд╛рди 10 * 10 * 42 = 4200 рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рдорд╛рди рд╣реИ, radius рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдорд╛рди, рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред рдЪрд▓реЛ рдЗрд╕реЗ рдареАрдХ рдХрд░реЗрдВ:

 const PI = 3.14; function calculateArea(radius, pi) { return radius * radius * pi; } calculateArea(10, PI); //  314 

рдЕрдм рдЬрдм рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╣рдореЗрд╢рд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рддрд░реНрдХ pi ред рдирддреАрдЬрддрди, рдлрд╝рдВрдХреНрд╢рди рдХреЗрд╡рд▓ рдЙрд╕реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬреЛ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓рд┐рдП рдмрд┐рдирд╛, рдЬрдм рдЗрд╕реЗ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдЖ рд╕рдХрддреЗ рд╣реИрдВ:

  • рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди radius рдХреЗ рддрд░реНрдХ рдХреЛ 10 рдмрд░рд╛рдмрд░ рдФрд░ рддрд░реНрдХ pi рдХреЛ 3.14 рдмрд░рд╛рдмрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рдПрдЧрд╛ - 314 ред
  • рдЬрдм 10 radius рддрд░реНрдХ рдФрд░ 42 pi рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╣рдореЗрд╢рд╛ 4200 рд▓реМрдЯрд╛рдПрдЧрд╛ред

рдлрд╛рдЗрд▓реЗрдВ рдкрдврд╝рдирд╛


рдпрджрд┐ рд╣рдорд╛рд░рд╛ рдлрд╝рдВрдХреНрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рд╛рдл рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдмрджрд▓ рд╕рдХрддреА рд╣реИред

 function charactersCounter(text) { return `Character count: ${text.length}`; } function analyzeFile(filename) { let fileContent = open(filename); return charactersCounter(fileContent); } 

рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдкреАрдврд╝реА


рдХреЛрдИ рднреА рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд╢реБрджреНрдз рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

 function yearEndEvaluation() { if (Math.random() > 0.5) {   return "You get a raise!"; } else {   return "Better luck next year!"; } } 

рдЕрдм рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯреНрд╕ рдХреАред

тЦН рджреБрд╖реНрдкреНрд░рднрд╛рд╡


рдПрдХ рдкрдХреНрд╖ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдпрд╛ рддрд░реНрдХреЛрдВ рдХрд╛ рд╕рдВрд╢реЛрдзрди рд╣реИред

рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдирд╛ рд╣реИ рдЬреЛ 1 рд╕реЗ рдкреВрд░реНрдгрд╛рдВрдХ рдФрд░ рд╡реЗрддрди рд╡реГрджреНрдзрд┐ рд▓реЗрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдПрдХ рд╕рдорд╛рди рд╡рд┐рдЪрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 let counter = 1; function increaseCounter(value) { counter = value + 1; } increaseCounter(counter); console.log(counter); // 2 

рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ counter ред рд╣рдорд╛рд░рд╛ рдлрд╝рдВрдХреНрд╢рди, рдЬреЛ рд╢реБрджреНрдз рдирд╣реАрдВ рд╣реИ, рдЗрд╕ рдорд╛рди рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдХреЛ рдЗрд╕рдХреЗ рдкрд┐рдЫрд▓реЗ рдореВрд▓реНрдп рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдмрджрд▓ рд░рд╣рд╛ рд╣реИ, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╕рдорд╛рди рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред

рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХрд╛ рдореВрд▓реНрдп рд╕рдВрд╢реЛрдзрд┐рдд рд╣реИред рдЗрди рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рдХреИрд╕реЗ рдмрдврд╝реЗрдВ рдореБрдарднреЗрдбрд╝ increaseCounter() рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рд╛рдл рдХрд░реЗрдВ? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:

 let counter = 1; function increaseCounter(value) { return value + 1; } increaseCounter(counter); // 2 console.log(counter); // 1 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд╝рдВрдХреНрд╢рди 2 рд▓реМрдЯрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ counter рдХрд╛ рдореВрд▓реНрдп рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХрд┐рд╕реА рднреА рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реБрдП, рдЙрд╕рдХреЗ рдкрд╛рд╕ рджрд┐рдП рдЧрдП рдорд╛рди рдХреЛ 1 рдмрдврд╝рд╛ рджреЗрддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рд╢реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рджреЛ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдП рдЧрдП рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдЕрд▓рдЧ-рдерд▓рдЧ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдмрд╛рд╣рд░реА рд╣рд┐рд╕реНрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред

рд╢реБрджреНрдз рдХрд╛рд░реНрдп рд╕реНрдерд┐рд░, рд╕реБрд╕рдВрдЧрдд рдФрд░ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдпреЛрдЧреНрдп рд╣реИрдВред рдПрдХ рд╣реА рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛, рдРрд╕реЗ рдХрд╛рд░реНрдп рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╣реА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╢реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╕ рдЕрд╕рдВрднрд╡ рд╣реИред

ред рд╢реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╢рдХреНрддрд┐


рд╢реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХреА рддрд╛рдХрдд рдХреЗ рдмреАрдЪ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ рдХреЛрдИ рд╕реНрдЯрдм рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рд╢реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

  • рдпрджрд┐ рдкреИрд░рд╛рдореАрдЯрд░ A рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ B рдХрд╛ рд░рд┐рдЯрд░реНрди рдорд╛рди рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред
  • рдпрджрд┐ рдкреИрд░рд╛рдореАрдЯрд░ C рдХреЛ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ D рдХрд╛ рд░рд┐рдЯрд░реНрди рдорд╛рди рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред

рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд░реЗрдЧрд╛, рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рд╕рд░рдгреА рд▓реМрдЯрд╛рдПрдЧрд╛:

 let list = [1, 2, 3, 4, 5]; function incrementNumbers(list) { return list.map(number => number + 1); } 

рдпрд╣рд╛рдВ рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо map() рд╕рд░рдгреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдореЗрдВ рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рдирдП рд╕рд░рдгреА рдмрдирд╛рддрд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ рдПрдХ list рд╕рд░рдгреА рдкрд╛рд╕ рдХрд░рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рддреЗ рд╣реИрдВ:

 incrementNumbers(list); //  [2, 3, 4, 5, 6] 

рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдпрд╣ рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐, рдлреЙрд░реНрдо [1, 2, 3, 4, 5] рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рдпрд╣ рдПрдХ рдирдпрд╛ рдПрд░реЗ [2, 3, 4, 5, 6] рд▓реМрдЯрд╛рдПрдЧрд╛ред рдЗрд╕ рддрд░рд╣ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

Immutabelnost


рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЗрдХрд╛рдИ рдХреА рдкреНрд░рддрд┐рд░рдХреНрд╖рд╛ рдХреЛ рдЗрд╕ рддрдереНрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдордп рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рдпрд╛ рдЗрд╕ рдЗрдХрд╛рдИ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрд╕рдВрднрд╡рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВред

рдпрджрд┐ рд╡реЗ рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╡рд╕реНрддреБ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬрд┐рд╕рдореЗрдВ рдирдП рдорд╛рди рд╣реЛрдВрдЧреЗред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдХреНрд╕рд░ рд▓реВрдк рдХреЗ for рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЙрдирдХреЗ рдХрд╛рдо рдХреЗ рдХреНрд░рдо рдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 var values = [1, 2, 3, 4, 5]; var sumOfValues = 0; for (var i = 0; i < values.length; i++) { sumOfValues += values[i]; } sumOfValues // 15 

рд▓реВрдк рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░, рд╡реИрд░рд┐рдПрдмрд▓ i рдХрд╛ рдорд╛рди рдФрд░ рдЧреНрд▓реЛрдмрд▓ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдорд╛рди (рдЗрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рд╕реНрдерд┐рддрд┐ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) sumOfValues ред рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рдЕрдкрд░рд┐рд╣рд╛рд░реНрдпрддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХреИрд╕реЗ? рдЙрддреНрддрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред

 let list = [1, 2, 3, 4, 5]; let accumulator = 0; function sum(list, accumulator) { if (list.length == 0) {   return accumulator; } return sum(list.slice(1), accumulator + list[0]); } sum(list, accumulator); // 15 list; // [1, 2, 3, 4, 5] accumulator; // 0 

рдПрдХ рдлрд╝рдВрдХреНрд╢рди sum() , рдЬреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд▓реЗрддрд╛ рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╕рд░рдгреА рдЦрд╛рд▓реА рд╣реЛрдиреЗ рддрдХ рдЦреБрдж рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ (рдпрд╣ рд╣рдорд╛рд░реЗ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдореВрд▓ рдорд╛рдорд▓рд╛ рд╣реИ )ред рдкреНрд░рддреНрдпреЗрдХ рдРрд╕реЗ "рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐" рдкрд░, рд╣рдо accumulator рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ accumulator рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛, рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдореВрд▓реНрдп рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ list рдФрд░ accumulator рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рддреЗ рд╣реИрдВ, рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рд╕рдорд╛рди рдорд╛рди рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк reduce рд╕рд░рдгреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдиреАрдЪреЗ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ, рдХрд╛рд░реНрдп рддрдм рд╡реНрдпрд╛рдкрдХ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЦрд╛рдХреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЕрдкрдирд╛ рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рдгреА URL рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рджреГрд╢реНрдп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

рдпрджрд┐ рд╣рдо рд░реВрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ OOP рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкрд╣рд▓реЗ рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдПрдВрдЧреЗ, рдХрд╣рддреЗ рд╣реИрдВ, рдЗрд╕реЗ UrlSlugify рдХрд╣рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ slugify! рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

 class UrlSlugify attr_reader :text def initialize(text)   @text = text end def slugify!   text.downcase!   text.strip!   text.gsub!(' ', '-') end end UrlSlugify.new(' I will be a url slug   ').slugify! # "i-will-be-a-url-slug" 

рд╣рдордиреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЕрджреНрднреБрдд рд╣реИред рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдЬрдм рд╣рдо рд▓рд╛рдЗрди рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЛ рдкреЗрдВрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЕрд░реНрдерд╛рддреН, рдкрд╣рд▓реЗ рд╣рдо рдЗрд╕рдХреЗ рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдВрдд рдореЗрдВ рдбреИрд╢ рдкрд░ рд╢реЗрд╖ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рджреМрд░рд╛рди, рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реНрдЯреЗрдЯ рдХрд╛ рдПрдХ рдореНрдпреВрдЯреЗрд╢рди рд╣реЛрддрд╛ рд╣реИред

рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдХреЙрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХрд░рдХреЗ рдореНрдпреВрдЯреЗрд╢рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдЧрд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдПред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдореВрд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╣реАрдВ рдмрджрд▓реЗрдЧреАред

 let string = " I will be a url slug   "; function slugify(string) { return string.toLowerCase()   .trim()   .split(" ")   .join("-"); } slugify(string); // i-will-be-a-url-slug 

рдпрд╣рд╛рдВ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдорд╛рдирдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рд╕рд░рдгреА рд╡рд┐рдзрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

  • toLowerCase : рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд░реНрдгреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред
  • trim : рдПрдХ рд▓рд╛рдЗрди рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рд╕реЗ рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред
  • split : рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ split рдХрд░рддрд╛ рд╣реИ, рд╢рдмреНрджреЛрдВ рдХреЛ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╕реЗ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИред
  • join : рд╢рдмреНрджреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдбреИрд╢ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рд╢рдмреНрджреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрдирд╛рддрд╛ рд╣реИред

рдпреЗ рдЪрд╛рд░ рдХрд╛рд░реНрдп рдЖрдкрдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред

рд▓рд┐рдВрдХ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛


рдПрдХ рдлрд╝рдВрдХреНрд╢рди square() рдмрдирд╛рдПрдВ рдЬреЛ рдХрд┐рд╕реА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЙрд╕реА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ:

 function square(n) { return n * n; } 

рдпрд╣ рдПрдХ рд╢реБрджреНрдз рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдЗрдирдкреБрдЯ рдорд╛рди рдХреЗ рд▓рд┐рдП, рд╕рдорд╛рди рдЖрдЙрдЯрдкреБрдЯ рдорд╛рди рд▓реМрдЯрд╛рдПрдЧрд╛ред

 square(2); // 4 square(2); // 4 square(2); // 4 // ... 

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрд╛рд╣реЗ рдХрд┐рддрдиреЗ рдирдВрдмрд░ 2 рдкрд╛рд╕ рд╣реЛ рдЬрд╛рдПрдВ, рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╣рдореЗрд╢рд╛ рдирдВрдмрд░ 4 рд▓реМрдЯрд╛рдПрдЧрд╛ред рдирддреАрдЬрддрди, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдлреЙрд░реНрдо square(2) рдПрдХ рдХреЙрд▓ рдХреЛ рдирдВрдмрд░ 4 рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕рдВрджрд░реНрднрд╛рддреНрдордХ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХреА рд╕рдВрдкрддреНрддрд┐ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдо рдпрд╣ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░реВрдк рд╕реЗ рдЙрд╕реА рдЗрдирдкреБрдЯ рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ, рддреЛ рдЙрд╕рдХреЗ рдкрд╛рд╕ рд╕рдВрджрд░реНрднрд╛рддреНрдордХ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рд╣реИред

EntialPure рдлрд╝рдВрдХреНрд╢рди + рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдбреЗрдЯрд╛ = рд╕рдВрджрд░реНрднрд╛рддреНрдордХ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛


рдЗрд╕ рдЦрдВрдб рдХреЗ рд╢реАрд░реНрд╖рдХ рдореЗрдВ рд╕рд╛рдордиреЗ рд░рдЦреЗ рдЧрдП рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдпрд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ:

 function sum(a, b) { return a + b; } 

рд╣рдо рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд╣рддреЗ рд╣реИрдВ:

 sum(3, sum(5, 8)); 

sum(5, 8) рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рд╣рдореЗрд╢рд╛ 13 ред рдЗрд╕рд▓рд┐рдП, рдЙрдкрд░реЛрдХреНрдд рдХреЙрд▓ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 sum(3, 13); 

рдпрд╣ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐, рдмрджрд▓реЗ рдореЗрдВ, рд╣рдореЗрд╢рд╛ 16 рджреЗрддреА рд╣реИред рдирддреАрдЬрддрди, рдЗрд╕реЗ рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕реНрдерд┐рд░рд╛рдВрдХ рдФрд░ рдЬреНрдЮрд╛рдкрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп


рдкрд╣рд▓реА рдХрдХреНрд╖рд╛ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдорд╛рдирдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрд╛рд░реНрдпреЛрдВ рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ:

  • рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рд╕реНрдерд┐рд░рд╛рдВрдХ рдФрд░ рдЪрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдирдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛ рд╕рдХрддреА рд╣реИред
  • рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдХрд╛рд░реНрдп рд▓реМрдЯрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣реА рд╣реИ, рдпрд╣ рдорд╛рдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдбреЗрдЯрд╛ рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдЖрдк рдирдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред

рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдЗрд╕рдореЗрдВ рджрд┐рдП рдЧрдП рджреЛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ 2 рдЧреБрдгрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬреЛ рдирд┐рдХрд▓рд╛ рд╡рд╣ рд╡рд╛рдкрд╕ рдЖрддрд╛ рд╣реИ:

 function doubleSum(a, b) { return (a + b) * 2; } 

рдЕрдм рд╣рдо рдПрдХ рдРрд╕рд╛ рдлрдВрдХреНрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдЗрд╕рдореЗрдВ рджрд┐рдП рдЧрдП рдкрд╣рд▓реЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рди рд╕реЗ рджреВрд╕рд░реЗ рдХреЛ рдШрдЯрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╣реБрдЖ рдЙрд╕реЗ 2 рдЧреБрдгрд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдХрд▓рд┐рдд рдорд╛рди рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ:

 function doubleSubtraction(a, b) { return (a - b) * 2; } 

рдЗрди рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ рд╕рдорд╛рди рддрд░реНрдХ рд╣реЛрддреЗ рд╣реИрдВ, рд╡реЗ рдХреЗрд╡рд▓ рдЗрд╕ рдмрд╛рдд рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдХрд┐рд╕ рддрд░рд╣ рдХреЗ рдСрдкрд░реЗрд╢рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЙрдирдХреЗ рдкрд╛рд╕ рдЧрдП рдирдВрдмрд░реЛрдВ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЧрдгрдирд╛ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджреВрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпреЗ рд╡рд┐рдЪрд╛рд░ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрдорд╛рдгреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ:

 function sum(a, b) { return a + b; } function subtraction(a, b) { return a - b; } function doubleOperator(f, a, b) { return f(a, b) * 2; } doubleOperator(sum, 3, 1); // 8 doubleOperator(subtraction, 3, 1); // 4 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдм doubleOperator() рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ f , рдФрд░ рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдЗрд╕рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдкреИрд░рд╛рдореАрдЯрд░ a рдФрд░ b рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред doubleOperator() рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рджрд┐рдпрд╛ рдЧрдпрд╛ sum() рдФрд░ substraction() рдлрд╝рдВрдХреНрд╢рди, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдк doubleOperator() рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдЙрдирдореЗрдВ рд▓рд╛рдЧреВ рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрджрд▓рддреЗ рд╣реИрдВред

рдЙрдЪреНрдЪ рдЖрджреЗрд╢ рдХрд╛рд░реНрдп


рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдмрд╛рдд рдХрд░рддреЗ рд╣реБрдП, рд╣рдорд╛рд░рд╛ рдорддрд▓рдм рдЙрди рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рд╣реИ рдЬреЛ рдирд┐рдореНрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВред

  • рдПрдХ рдлрд╝рдВрдХреНрд╢рди рджреВрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ (рдРрд╕реЗ рдХрдИ рдХрд╛рд░реНрдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ)ред
  • рдлрд╝рдВрдХреНрд╢рди рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рджреЗрддрд╛ рд╣реИред

рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╛рдирдХ JS рд╕рд░рдгреА рд╡рд┐рдзрд┐рдпреЛрдВ filter() , map() рдФрд░ reduce() рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред

тЦН рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рд╕рд░рдгрд┐рдпрд╛рдБ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ () рд╡рд┐рдзрд┐


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рддрддреНрд╡реЛрдВ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЧреНрд░рд╣ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдЗрд╕ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рддрддреНрд╡реЛрдВ рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдирдпрд╛ рд╕рдВрдЧреНрд░рд╣ рдмрдирд╛рддреЗ рд╣реИрдВред filter() рдлрд╝рдВрдХреНрд╢рди рдХреЛ рддрддреНрд╡реЛрдВ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд╛рдирджрдВрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдореА рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдПрдХ рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЗрд╕ рдорд╛рдирджрдВрдб рдХреЛ рдЙрд╕рдХреЗ рдкрд╛рд╕ рджрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдХрд┐ true рд╣реЛ рдЬрд╛рддрд╛ true рдпрджрд┐ filter() рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЕрдВрддрд┐рдо рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдПрдХ рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдпрд╣ false ред

рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕реЗ рдПрдХ рдирдпрд╛ рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдореВрд▓ рд╕рд░рдгреА рд╕реЗ рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реИрдВред

рдЗрдВрдкреАрд░рд┐рдпрд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг


рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рд╣рдореЗрдВ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрдХреНрд░рдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  • рдирдП рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рд▓реА рд╕рд░рдгреА рдмрдирд╛рдПрдВ (рдЗрд╕реЗ evenNumbers рдХреЙрд▓ рдХрд░реЗрдВ)ред
  • рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рдореВрд▓ рд╕рд░рдгреА рдкрд░ рдлреЗрд░рдмрджрд▓ рдХрд░реЗрдВ (рдЪрд▓реЛ рдЗрд╕реЗ numbers рдХрд╣рддреЗ рд╣реИрдВ)ред
  • рд╕рдо рд╕рдВрдЦреНрдпрд╛ рд╕рд░рдгреА evenNumbers рдкрд╛рдП рдЧрдП рд╕рдо рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░рдЦреЗрдВред

рдпрд╣рд╛рдБ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

 var numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; var evenNumbers = []; for (var i = 0; i < numbers.length; i++) { if (numbers[i] % 2 == 0) {   evenNumbers.push(numbers[i]); } } console.log(evenNumbers); // (6) [0, 2, 4, 6, 8, 10] 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ (рдЪрд▓реЛ рдЗрд╕реЗ even() рдХреЙрд▓ рдХрд░реЗрдВ even() , рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛ рд╕рдорд╛рди рд╣реИ, рддреЛ true , рдФрд░ рдпрджрд┐ рдпрд╣ рд╡рд┐рд╖рдо рд╣реИ, рддреЛ false , рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ filter() рд╕рд░рдгреА рд╡рд┐рдзрд┐ рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВ, рдЬреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪ рдХрд░рдХреЗ, рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИред , рдПрдХ рдирдИ рд╕рд░рдгреА рдмрдирд╛рдПрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реЛрдВрдЧреА:

 function even(number) { return number % 2 == 0; } let listOfNumbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; listOfNumbers.filter(even); // [0, 2, 4, 6, 8, 10] 

рдпрд╣рд╛рдБ, рд╕рд░рдгреА рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╣реИрдХрд░ рд░реИрдВрдХ рдкрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП рдкреВрд░рд╛ рдХрд┐рдпрд╛ред рд╕рдорд╕реНрдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рд╕реЗ, рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рдПрдХ рд╕рд░рдгреА рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдХреЗрд╡рд▓ рдЙрди рддрддреНрд╡реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЬреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдорд╛рди рд╕реЗ рдХрдо рд╣реИрдВред

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

 var filterArray = function(x, coll) { var resultArray = []; for (var i = 0; i < coll.length; i++) {   if (coll[i] < x) {     resultArray.push(coll[i]);   } } return resultArray; } console.log(filterArray(3, [10, 9, 8, 2, 7, 5, 1, 3, 0])); // (3) [2, 1, 0] 

рдЕрдирд┐рд╡рд╛рд░реНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЕрд░реНрдерд╛рддреН, рд╣рдо рдПрд░реЗ рдХреА рдЦреЛрдЬ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ, x рд╕рд╛рде рдПрд░реЗ рдХреЗ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рддрддреНрд╡ рдХреЛ resultArray рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред resultArray рд╕рд░рдгреА рдореЗрдВ рдпрджрд┐ рдпрд╣ рдкрд░реАрдХреНрд╖рд╛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред

рдШреЛрд╖рдгрд╛рддреНрдордХ рджреГрд╖реНрдЯрд┐рдХреЛрдг


рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдШреЛрд╖рдгрд╛рддреНрдордХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рд╕реНрд╡рд┐рдЪ рдХреИрд╕реЗ рдХрд░реЗрдВ рдФрд░ filter() рд╡рд┐рдзрд┐ рдХрд╛ рдПрдХ рд╕рдорд╛рди рдЙрдкрдпреЛрдЧ, рдЬреЛ рдПрдХ рдЙрдЪреНрдЪ-рдХреНрд░рдо рдлрд╝рдВрдХреНрд╢рди рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

 function smaller(number) { return number < this; } function filterArray(x, listOfNumbers) { return listOfNumbers.filter(smaller, x); } let numbers = [10, 9, 8, 2, 7, 5, 1, 3, 0]; filterArray(3, numbers); // [2, 1, 0] 

рдЖрдкрдХреЛ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ smaller() рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЗрд╕ this рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рд╛рдорд╛рдиреНрдп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред this filter() рд╡рд┐рдзрд┐ рдХрд╛ рджреВрд╕рд░рд╛ рддрд░реНрдХ рд╣реИред рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ filterArray() рдХреЗ x рдкреИрд░рд╛рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рдирдВрдмрд░ 3 ред рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдЗрд╕реА рд╕реЗ рдЗрдВрдЧрд┐рдд рд╣реЛрддреА рд╣реИред

рдЙрд╕реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рд╕рд░рдгреА рдореЗрдВ рдРрд╕реА рдЗрдХрд╛рдЗрдпрд╛рдБ рд╣реЛрдВ рдЬрд┐рдирдореЗрдВ рдПрдХ рдЬрдЯрд┐рд▓ рд╕рдВрд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдСрдмреНрдЬреЗрдХреНрдЯред рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд░рдгреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ name рд╕рдВрдкрддреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдП рдЧрдП рд▓реЛрдЧреЛрдВ рдХреЗ name рд╣реИрдВ, рдФрд░ рдЗрди рд▓реЛрдЧреЛрдВ рдХреА age рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдпрд╣рд╛рдВ рдПрдХ рд╕рд░рдгреА рджрд┐рдЦрддреА рд╣реИ:

 let people = [ { name: "TK", age: 26 }, { name: "Kaio", age: 10 }, { name: "Kazumi", age: 30 } ]; 

рд╣рдо рдЗрд╕ рд╕рд░рдгреА рдХреЛ рдХреЗрд╡рд▓ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЪреБрдирдХрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рдРрд╕реЗ рд▓реЛрдЧ рд╣реИрдВ рдЬрд┐рдирдХреА рдЙрдореНрд░ 21 рд╡рд░реНрд╖ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЧрдИ рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 function olderThan21(person) { return person.age > 21; } function overAge(people) { return people.filter(olderThan21); } overAge(people); // [{ name: 'TK', age: 26 }, { name: 'Kazumi', age: 30 }] 

рдпрд╣рд╛рдБ рд╣рдо рд▓реЛрдЧреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рд╣реИред рд╣рдо рдЗрд╕ рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ olderThan21() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ olderThan21() ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреА age рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдЬрд╛рдБрдЪрддреЗ рд╣реБрдП рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓реНрдп 21 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рд╣рдо рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ filter() рд╡рд┐рдзрд┐ рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рд░рдгреА рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддрд╛ рд╣реИред

Array рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рддрддреНрд╡ рддрддреНрд╡ рдФрд░ рдирдХреНрд╢рд╛ () рд╡рд┐рдзрд┐


рд╕рд░рдгреА рддрддреНрд╡реЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП map() рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╣ рдПрд░реЗ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЛ рджрд┐рдП рдЧрдП рдлрдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдмрджрд▓реЗ рд╣реБрдП рддрддреНрд╡реЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдПрдХ рдирдпрд╛ рдПрд░реЗ рдмрдирд╛рддрд╛ рд╣реИред

рдЖрдЗрдП рдЙрди people рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦреЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВред рдЕрдм рд╣рдо рдЗрд╕ рд╕рд░рдгреА рдХреЛ age рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рд╣рдореЗрдВ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлреЙрд░реНрдо рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рддреИрдпрд╛рд░ рдХрд░рдиреА рд╣реЛрдЧреА рдЬреЛ рдХрд┐ TK is 26 years old ред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ, рд╡реЗ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬрд┐рдирдореЗрдВ рддрддреНрд╡ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрдирдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЯреЗрдореНрдкрд▓реЗрдЯ p.name is p.age years old рдЕрдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ p.name is p.age years old , рдЬрд╣рд╛рдБ p.age рдФрд░ p.age people рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рдВрдЧрдд рдЧреБрдгреЛрдВ рдХреЗ рдорд╛рди рд╣реИрдВред

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд░реВрд░реА рддрд░реАрдХрд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 var people = [ { name: "TK", age: 26 }, { name: "Kaio", age: 10 }, { name: "Kazumi", age: 30 } ]; var peopleSentences = []; for (var i = 0; i < people.length; i++) { var sentence = people[i].name + " is " + people[i].age + " years old"; peopleSentences.push(sentence); } console.log(peopleSentences); // ['TK is 26 years old', 'Kaio is 10 years old', 'Kazumi is 30 years old'] 

рдпрджрд┐ рдЖрдк рдПрдХ рдШреЛрд╖рдгрд╛рддреНрдордХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд┐рд▓рддреЗ рд╣реИрдВ:

 function makeSentence(person) { return `${person.name} is ${person.age} years old`; } function peopleSentences(people) { return people.map(makeSentence); } peopleSentences(people); // ['TK is 26 years old', 'Kaio is 10 years old', 'Kazumi is 30 years old'] 

рддрдереНрдп рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣рд╛рдВ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдореВрд▓ рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдПрдХ рдирдП рд╕рд░рдгреА рдореЗрдВ рд░рдЦреЗрдВред

рдпрд╣рд╛рдВ рд╣реИрдХрд░ рд░реИрдВрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдХрд╛рд░реНрдп рд╣реИ, рдЬреЛ рд╕реВрдЪреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред рдЕрд░реНрдерд╛рддреН, рд╣рдо рдПрдХ рдореМрдЬреВрджрд╛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЙрдирдХреЗ рдкреВрд░реНрдг рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдПрдХ рд╕рд░рдгреА [1, 2, 3, -4, 5] рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ [1, 2, 3, -4, 5] рдпрд╣ -4 рдХрд╛ рдирд┐рд░рдкреЗрдХреНрд╖ рдорд╛рди [1, 2, 3, 4, 5] рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ [1, 2, 3, 4, 5] рдХрд╛ рд░реВрдк рд▓реЗ рд▓реЗрдЧрд╛ред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЬрдм рд╣рдо рдПрдХ рд╕рд░рдгреА рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЙрдирдХреЗ рдкреВрд░реНрдг рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВред

 var values = [1, 2, 3, -4, 5]; for (var i = 0; i < values.length; i++) { values[i] = Math.abs(values[i]); } console.log(values); // [1, 2, 3, 4, 5] 

рдпрд╣рд╛рдВ, рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Math.abs() рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд░рд┐рд╡рд░реНрддрд┐рдд рддрддреНрд╡ рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ рд▓рд┐рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╡реЗ рд░реВрдкрд╛рдВрддрд░рдг рд╕реЗ рдкрд╣рд▓реЗ рдереЗред

.

, , , . . , , , .

, , map() . ?

, abs() , , .

 Math.abs(-1); // 1 Math.abs(1); // 1 Math.abs(-2); // 2 Math.abs(2); // 2 

, , .

, , Math.abs() map() . , ? map() . :

 let values = [1, 2, 3, -4, 5]; function updateListMap(values) { return values.map(Math.abs); } updateListMap(values); // [1, 2, 3, 4, 5] 

, , , , , .

тЦН reduce()


reduce() .

. , -. Product 1 , Product 2 , Product 3 Product 4 . .

, . рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

 var orders = [ { productTitle: "Product 1", amount: 10 }, { productTitle: "Product 2", amount: 30 }, { productTitle: "Product 3", amount: 20 }, { productTitle: "Product 4", amount: 60 } ]; var totalAmount = 0; for (var i = 0; i < orders.length; i++) { totalAmount += orders[i].amount; } console.log(totalAmount); // 120 

reduce() , ( sumAmount() ), , reduce() :

 let shoppingCart = [ { productTitle: "Product 1", amount: 10 }, { productTitle: "Product 2", amount: 30 }, { productTitle: "Product 3", amount: 20 }, { productTitle: "Product 4", amount: 60 } ]; const sumAmount = (currentTotalAmount, order) => currentTotalAmount + order.amount; function getTotalAmount(shoppingCart) { return shoppingCart.reduce(sumAmount, 0); } getTotalAmount(shoppingCart); // 120 

shoppingCart , , sumAmount() , ( order , amount ), тАФ currentTotalAmount .

reduce() , getTotalAmount() , sumAmount() , 0 .

map() reduce() . ┬л┬╗? , map() shoppingCart , amount , reduce() sumAmount() . :

 const getAmount = (order) => order.amount; const sumAmount = (acc, amount) => acc + amount; function getTotalAmount(shoppingCart) { return shoppingCart   .map(getAmount)   .reduce(sumAmount, 0); } getTotalAmount(shoppingCart); // 120 

getAmount() amount . map() , , , [10, 30, 20, 60] . , reduce() , .

тЦН filter(), map() reduce()


, , filter() , map() reduce() . , , .

-. , :

 let shoppingCart = [ { productTitle: "Functional Programming", type: "books", amount: 10 }, { productTitle: "Kindle", type: "eletronics", amount: 30 }, { productTitle: "Shoes", type: "fashion", amount: 20 }, { productTitle: "Clean Code", type: "books", amount: 60 } ] 

. :

  • type , , books .
  • , .
  • .

, :

 let shoppingCart = [ { productTitle: "Functional Programming", type: "books", amount: 10 }, { productTitle: "Kindle", type: "eletronics", amount: 30 }, { productTitle: "Shoes", type: "fashion", amount: 20 }, { productTitle: "Clean Code", type: "books", amount: 60 } ] const byBooks = (order) => order.type == "books"; const getAmount = (order) => order.amount; const sumAmount = (acc, amount) => acc + amount; function getTotalAmount(shoppingCart) { return shoppingCart   .filter(byBooks)   .map(getAmount)   .reduce(sumAmount, 0); } getTotalAmount(shoppingCart); // 70 

рдкрд░рд┐рдгрд╛рдо


JavaScript-. , .

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! ?



Source: https://habr.com/ru/post/hi434112/


All Articles