рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдп: рдпрд╣ рдХреНрдпрд╛ рд╣реИ?

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


NESA рджреНрд╡рд╛рд░рд╛ рдореЗрдХрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдлреЛрдЯреЛ Unsplash рд╕реЗ

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

рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред

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

рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рдкреВрд░реА рддрд╕реНрд╡реАрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдпрд╣ рд╕рдордЭрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ рдХрд╛рд░реНрдп рдХреНрдпрд╛ рд╣реИрдВ ред

рдпреБрдХреНрддрд┐ : рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЕрдХреНрд╕рд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдмрди рдЬрд╛рддреЗ рд╣реИрдВ рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдЯ (GitHub) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдиреНрдпреВрдирддрдо рдкреНрд░рдмрдВрдзрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдиреНрд╣реЗрдВ рдкреБрди: рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХрд░реЛ, рд╢рд░реНрдореАрд▓реА рдордд рдмрдиреЛред

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


рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рддреАрд╕рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ, рд╣рдо рд╕реЛрдЪрддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд╣рд╛рд╕реНрдХреЗрд▓, рдХреНрд▓реЛрдЬрд░, рд╕реНрдХрд╛рд▓рд╛ рдФрд░ рдПрд░рд▓рдВрдЧ рдЬреИрд╕реА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдХреНрдпрд╛ рд╣реИрдВ


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

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП, рдлрд╝рдВрдХреНрд╢рди рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ ( Function рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕, рдпрд╛ Function )ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

 function greeting() { console.log('Hello World'); } // Invoking the function greeting(); // prints 'Hello World' 

рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╛рд░реНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВ, рд╣рдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 // We can add properties to functions like we do with objects greeting.lang = 'English'; // Prints 'English' console.log(greeting.lang); 

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

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

рдЪрд░ рдХреЛ рдХрд╛рд░реНрдп рд╕реМрдВрдкрдирд╛


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

 const square = function(x) { return x * x; } // prints 25 square(5); 

рдЙрдиреНрд╣реЗрдВ рднреА рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

 const foo = square; // prints 36 foo(6); 

рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рдирд╛


рд╣рдо рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

 function formalGreeting() { console.log("How are you?"); } function casualGreeting() { console.log("What's up?"); } function greet(type, greetFormal, greetCasual) { if(type === 'formal') { greetFormal(); } else if(type === 'casual') { greetCasual(); } } // prints 'What's up?' greet('casual', formalGreeting, casualGreeting); 

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

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


рдЙрдЪреНрдЪ-рдХреНрд░рдо рдлрд╝рдВрдХреНрд╢рди рдРрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреЗ рд╣реИрдВ, рдпрд╛ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВред

рднрд╛рд╖рд╛ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг Array.prototype.map , Array.prototype.filter рдФрд░ Array.prototype.reduce ред

рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рдЙрдЪреНрдЪ рдЖрджреЗрд╢ рдХрд╛рд░реНрдп


рдЖрдЗрдП рдЙрдЪреНрдЪ-рдХреНрд░рдо рд╡рд╛рд▓реЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ рдФрд░ рдЙрдирдХреА рддреБрд▓рдирд╛ рдЙрди рд╕рдорд╛рдзрд╛рдиреЛрдВ рд╕реЗ рдХрд░реЗрдВ рдЬрд╣рд╛рдБ рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Array.prototype.map
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк map() рд╡рд┐рдзрд┐ рдПрдХ рдирдИ рд╕рд░рдгреА рдмрдирд╛рддрд╛ рд╣реИред map() рд╡рд┐рдзрд┐ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рди рдХреЛ рд▓реЗрддреА рд╣реИ рдФрд░ рдЗрди рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдпрд╛ рд╕рд░рдгреА рдмрдирд╛рддреА рд╣реИред

map() рд╡рд┐рдзрд┐ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рддреАрди рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИ: element , index рдФрд░ array ред

рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

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

рдПрдХ рдЙрдЪреНрдЪ рдЖрджреЗрд╢ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рдмрд┐рдирд╛:

 const arr1 = [1, 2, 3]; const arr2 = []; for(let i = 0; i < arr1.length; i++) { arr2.push(arr1[i] * 2); } // prints [ 2, 4, 6 ] console.log(arr2); 

рдЙрдЪреНрдЪ рдХреНрд░рдо map рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

 const arr1 = [1, 2, 3]; const arr2 = arr1.map(function(item) { return item * 2; }); console.log(arr2); 

рддреАрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рдХреЛ рдФрд░ рднреА рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

 const arr1 = [1, 2, 3]; const arr2 = arr1.map(item => item * 2); console.log(arr2); 

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

рдПрдХ рдЙрдЪреНрдЪ рдЖрджреЗрд╢ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рдмрд┐рдирд╛:

 const birthYear = [1975, 1997, 2002, 1995, 1985]; const ages = []; for(let i = 0; i < birthYear.length; i++) { let age = 2018 - birthYear[i]; ages.push(age); } // prints [ 43, 21, 16, 23, 33 ] console.log(ages); 

рдЙрдЪреНрдЪ рдХреНрд░рдо map рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

 const birthYear = [1975, 1997, 2002, 1995, 1985]; const ages = birthYear.map(year => 2018 - year); // prints [ 43, 21, 16, 23, 33 ] console.log(ages); 

Array.prototype.filter
filter() рд╡рд┐рдзрд┐ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рд╕рд░рдгреА рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЙрддреНрддреАрд░реНрдг рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред filter() рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рддреАрди рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИ: element , index рдФрд░ array ред

рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдЙрджрд╛рд╣рд░рдг рд╕рдВрдЦреНрдпрд╛ рез
рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд░рдгреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ "рдирд╛рдо" рдФрд░ "рдЖрдпреБ" рдХреЗ рдЧреБрдг рд╣реИрдВред рдЗрд╕рдореЗрдВ рд╕реЗ рд╣рдо рдПрдХ рдирдИ рд╡реНрдпреВрд╣ рд░рдЪрдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╡рдпрд╕реНрдХреЛрдВ (рдЕрдард╛рд░рд╣ рдФрд░ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ) рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдПрдХ рдЙрдЪреНрдЪ рдЖрджреЗрд╢ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рдмрд┐рдирд╛:

 const persons = [ { name: 'Peter', age: 16 }, { name: 'Mark', age: 18 }, { name: 'John', age: 27 }, { name: 'Jane', age: 14 }, { name: 'Tony', age: 24}, ]; const fullAge = []; for(let i = 0; i < persons.length; i++) { if(persons[i].age >= 18) { fullAge.push(persons[i]); } } console.log(fullAge); 

рдЙрдЪреНрдЪ рдХреНрд░рдо filter рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

 const persons = [ { name: 'Peter', age: 16 }, { name: 'Mark', age: 18 }, { name: 'John', age: 27 }, { name: 'Jane', age: 14 }, { name: 'Tony', age: 24}, ]; const fullAge = persons.filter(person => person.age >= 18); console.log(fullAge); 

Array.prototype.reduce
reduce рд╡рд┐рдзрд┐ рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдореВрд▓реНрдп рдкрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИ, рдЗрд╕реЗ рдПрдХ рдореВрд▓реНрдп рдкрд░ рдХрдо рдХрд░рддреА рд╣реИред рдХрдо рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдореЗрдВ рджреЛ рддрд░реНрдХ рд╣реЛрддреЗ рд╣реИрдВ:
  1. рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ;
  2. рд╡реИрдХрд▓реНрдкрд┐рдХ initialValue рдкреИрд░рд╛рдореАрдЯрд░ (рдкрд╣рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдкрд░ рдкрд╣рд▓рд╛ рддрд░реНрдХ)ред

рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдЪрд╛рд░ рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИ: accumulator , currentValue , currentIndex , sourceArray ред

рдпрджрд┐ initialValue рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ accumulator рддрд░реНрдХ initialValue рддрд░реНрдХ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛, рдФрд░ currentValue рддрд░реНрдХ рд╕рд░рдгреА рдХрд╛ рдкрд╣рд▓рд╛ рддрддреНрд╡ currentValue ред

рдпрджрд┐ initialValue рдкреИрд░рд╛рдореАрдЯрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ accumulator рддрд░реНрдХ рд╕рд░рдгреА рдХреЗ рдкрд╣рд▓реЗ рддрддреНрд╡ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛, рдФрд░ рд╕рд░рдгреА рдХрд╛ рджреВрд╕рд░рд╛ рддрддреНрд╡ currentValue рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЙрджрд╛рд╣рд░рдг рд╕рдВрдЦреНрдпрд╛ рез
рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдореЗрдВ рдХрд┐рд╕реА рд╕рд░рдгреА рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдпреЛрдЧ рдЬреНрдЮрд╛рдд рдХрд░рдирд╛ рд╣реИред

рдПрдХ рдЙрдЪреНрдЪ рдХреНрд░рдо рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ reduce :

 const arr = [5, 7, 1, 8, 4]; const sum = arr.reduce(function(accumulator, currentValue) { return accumulator + currentValue; }); // prints 25 console.log(sum); 

рд╣рд░ рдмрд╛рд░ рд╕рд░рдгреА рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рди рдкрд░ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, accumulator рддрд░реНрдХ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдкрд╕ рдХреА рдЧрдИ рдкрд┐рдЫрд▓реА рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдмрдЪрд╛рддрд╛ рд╣реИ, рдФрд░ currentValue рд╕рд░рдгреА рдХрд╛ рдЕрдЧрд▓рд╛ рдорд╛рди рд▓реЗрддрд╛ рд╣реИред рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░, рдкрд░рд┐рдгрд╛рдо рдХреЛ рдЪрд░ sum рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ:

 const arr = [5, 7, 1, 8, 4]; const sum = arr.reduce(function(accumulator, currentValue) { return accumulator + currentValue; }, 10); // prints 35 console.log(sum); 

рдПрдХ рдЙрдЪреНрдЪ рдЖрджреЗрд╢ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рдмрд┐рдирд╛:

 const arr = [5, 7, 1, 8, 4]; let sum = 0; for(let i = 0; i < arr.length; i++) { sum = sum + arr[i]; } // prints 25 console.log(sum); 

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

рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдЙрдЪреНрдЪрддрд░ рдСрд░реНрдбрд░ рдлрдВрдХреНрд╢рди рдмрдирд╛рдПрдВ


рдЗрд╕ рдмрд┐рдВрджреБ рддрдХ, рд╣рдордиреЗ рднрд╛рд╖рд╛ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рд╡рд┐рднрд┐рдиреНрди рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЗ рдЦреБрдж рдХреЗ рдЙрдЪреНрдЪрддрд░ рдСрд░реНрдбрд░ рдлрдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред

рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЕрдкрдирд╛ map рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╣рдо рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдПрдХ рдЙрдЪреНрдЪ рдХреНрд░рдо рдХрд╛ рдЕрдкрдирд╛ рдХрд╛рд░реНрдп рдмрди рд╕рдХрддрд╛ рд╣реИред

рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рд╕реЗ рд╣рдо рдПрдХ рдЗрдВрдЯреАрдЧреНрд░рд▓ рдХрд╛ рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рд░рдгреА рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░реЗрдЧрд╛ред

 const strArray = ['JavaScript', 'Python', 'PHP', 'Java', 'C']; function mapForEach(arr, fn) { const newArray = []; for(let i = 0; i < arr.length; i++) { newArray.push( fn(arr[i]) ); } return newArray; } const lenArray = mapForEach(strArray, function(item) { return item.length; }); // prints [ 10, 6, 3, 4, 1 ] console.log(lenArray); 

рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ рдПрдХ рдЙрдЪреНрдЪ-рдХреНрд░рдо рдлрд╝рдВрдХреНрд╢рди mapForEach , рдЬреЛ рдПрдХ рд╕рд░рдгреА рдФрд░ рддрд░реНрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди fn рд▓реЗрддрд╛ рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╣рд░ рдЪрдХреНрд░ рдореЗрдВ рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдореЗрдВ newArray.push рдлрд╝рдВрдХреНрд╢рди newArray.push рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ fn рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ newArray.push рдХрд░рддрд╛ рд╣реИред

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

рдирд┐рд╖реНрдХрд░реНрд╖


рд╣рдордиреЗ рд╕реАрдЦрд╛ рдХрд┐ рдЙрдЪреНрдЪ-рдХреНрд░рдо рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рдХреНрдпрд╛ рд╣реИрдВ, рдФрд░ рднрд╛рд╖рд╛ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреАред рд╣рдордиреЗ рдпрд╣ рднреА рд╕реАрдЦрд╛ рдХрд┐ рдЕрдкрдиреЗ рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЙрдЪреНрдЪ-рдХреНрд░рдо рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рдирд┐рдпрдорд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд╖рдорддрд╛ рд╣реЛрддреА рд╣реИред

рд╡рд╣, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдм рд╣реИред рдЕрдЧрд░ рдЖрдкрдХреЛ рдпрд╣ рд▓реЗрдЦ рдЙрдкрдпреЛрдЧреА рд▓рдЧрд╛, рддреЛ рдЖрдк рдореБрдЭреЗ рдорд╛рдзреНрдпрдо рдФрд░ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рднреА рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИрдВ рддреЛ рдмреЗрдЭрд┐рдЭрдХ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ! рдореБрдЭреЗ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред :)

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


All Articles