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


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

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

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


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

// Take a DOM element and wrap it in a list item element. function itemise(el) { const li = document.createElement('li'); li.appendChild(el); return li; } 

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдк рд╕рдм рдХреБрдЫ рд╕рдордЭ рдЧрдП рд╣реЛрдВрдЧреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд╢рд╛рдпрдж рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:

 const itemise = function(el) { const li = document.createElement('li'); li.appendChild(el); return li; } 

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдПрдХ рд╣реА рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ - рдПрдХ рддреАрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ :

 const itemise = (el) => { const li = document.createElement('li'); li.appendChild(el); return li; } 

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рднреА рддреАрди рд╡рд┐рдзрд┐рдпрд╛рдВ рд╕рдорд╛рди рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХреАрд╡рд░реНрдб рдХреЗ рдЬрд╛рджреВ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рдЫреЛрдЯреЗ рдЕрдВрддрд░ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдЯреИрдХ рдХреЗ рдирд┐рд╢рд╛рди рдореЗрдВ рд▓реЗрдмрд▓ рд╣реЛрддреЗ рд╣реИрдВред

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

  • рдЪрд░ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВред
  • рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░реЗрдВред
  • рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рд╡рд╛рдкрд╕реАред

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

рд╣рдордиреЗ рдЪрд░ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рджреЗрдЦрд╛ред рдЙрдиреНрд╣реЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдЖрдЗрдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВ рдЬреЛ рдбреЛрдо рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо document.querySelectorAll() рдирд┐рд╖реНрдкрд╛рджрд┐рдд document.querySelectorAll() , рддреЛ рдмрджрд▓реЗ рдореЗрдВ рд╣рдореЗрдВ рдПрдХ рд╕рд░рдгреА рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ NodeList рдорд┐рд▓реЗрдЧрд╛ред NodeList рдкрд╛рд╕ рдПрдХ .map() рдкрджреНрдзрддрд┐ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕реЗ рд╕рд░рдгрд┐рдпрд╛рдБ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

 // Apply a given function to every item in a NodeList and return an array. function elListMap(transform, list) { // list might be a NodeList, which doesn't have .map(), so we convert // it to an array. return [...list].map(transform); } // Grab all the spans on the page with the class 'for-listing'. const mySpans = document.querySelectorAll('span.for-listing'); // Wrap each one inside an <li> element. We re-use the // itemise() function from earlier. const wrappedList = elListMap(itemise, mySpans); 

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

 function addSpinnerClass(el) { el.classList.add('spinner'); return el; } // Find all the buttons with class 'loader' const loadButtons = document.querySelectorAll('button.loader'); // Add the spinner class to all the buttons we found. elListMap(addSpinnerClass, loadButtons); 

elLlistMap рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдХрдирд╡рд░реНрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рд╣рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП elListMap рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдордиреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрд╛ред рдЕрдм рдПрдХ рдлрдВрдХреНрд╢рди рд╕реЗ рдлрдВрдХреНрд╢рди рд▓реМрдЯрд╛рдиреЗ рдХреА рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ?

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рдкреБрд░рд╛рдиреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рд╣рдореЗрдВ li рддрддреНрд╡реЛрдВ рдХреА рд╕реВрдЪреА рд▓реЗрдиреЗ рдФрд░ ul рдореЗрдВ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрд╕рд╛рди:

 function wrapWithUl(children) { const ul = document.createElement('ul'); return [...children].reduce((listEl, child) => { listEl.appendChild(child); return listEl; }, ul); } 

рдФрд░ рдлрд┐рд░ рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рддрддреНрд╡реЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдПрдХ div рдореЗрдВ рд▓рдкреЗрдЯрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ, рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВрдЧреЗ:

 function wrapWithDiv(children) { const div = document.createElement('div'); return [...children].reduce((divEl, child) => { divEl.appendChild(child); return divEl; }, div); } 

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпреЗ рджреЛ рдХрд╛рд░реНрдп рдмрд╣реБрдд рд╕рдорд╛рди рд╣реИрдВ, рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдЙрд╕ рдореВрд▓ рддрддреНрд╡ рдореЗрдВ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдмрдирд╛рдпрд╛ рд╣реИред

рдЕрдм рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд▓реЗрддрд╛ рд╣реИ: рдореВрд▓ рддрддреНрд╡ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдФрд░ рдмрд╛рд▓ рддрддреНрд╡реЛрдВ рдХреА рд╕реВрдЪреАред рд▓реЗрдХрд┐рди рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИред рд╣рдо рдПрдХ рдлрдВрдХреНрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдлрдВрдХреНрд╢рди рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

 function createListWrapperFunction(elementType) { // Straight away, we return a function. return function wrap(children) { // Inside our wrap function, we can 'see' the elementType parameter. const parent = document.createElement(elementType); return [...children].reduce((parentEl, child) => { parentEl.appendChild(child); return parentEl; }, parent); } } 

рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЪрд▓рд┐рдП рдХреЛрдб рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдордиреЗ рдПрдХ рдРрд╕рд╛ рдлрдВрдХреНрд╢рди рдмрдирд╛рдпрд╛ рдЬреЛ рд╕рд┐рд░реНрдл рдПрдХ рдФрд░ рдлрдВрдХреНрд╢рди рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд░рд┐рдЯрд░реНрди рдлрдВрдХреНрд╢рди elementType рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдпрд╛рдж elementType рд╣реИред рдФрд░ рдлрд┐рд░, рдЬрдм рд╣рдо рд▓реМрдЯреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рддрддреНрд╡ рдХреЛ рдмрдирд╛рдирд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдк wrapWithUl рдФрд░ wrapWithDiv рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:

 const wrapWithUl = createListWrapperFunction('ul'); // Our wrapWithUl() function now 'remembers' that it creates a ul element. const wrapWithDiv = createListWreapperFunction('div'); // Our wrapWithDiv() function now 'remembers' that it creates a div element. 

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

рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рд╣рд▓ рдХрд┐рдпрд╛:

  • рдПрдХ рдлрдВрдХреНрд╢рди рдХреЛ рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдкрд░ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ред
  • рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рдирд╛ред
  • рджреВрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓реМрдЯрд╛ рд░рд╣рд╛ рд╣реИ ...

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ рдХрд╛рд░реНрдп рдПрдХ рд╕реБрдЦрдж рдмрд╛рдд рд╣реИред рд▓реЗрдХрд┐рди рдЙрдЪреНрдЪрддрд░ рдХреНрд░рдо рдХрд╛ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ? рдЖрдЗрдП рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рджреЗрдЦреЗрдВред

рдЙрдЪреНрдЪрддрд░ рдХреНрд░рдо рдХреНрдпрд╛ рд╣реИ?


рдкрд░рд┐рднрд╛рд╖рд╛ : рдпрд╣ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ рдпрд╛ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдлрд╝рдВрдХреНрд╢рди рджреЗрддрд╛ рд╣реИред

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

рдЙрдЪреНрдЪ-рдХреНрд░рдо рдлрд╝рдВрдХреНрд╢рди рдЙрджрд╛рд╣рд░рдг


рдпрджрд┐ рдЖрдк рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╣рд░ рдЬрдЧрд╣ рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдЖрдо рдХрд╛рд░реНрдп рд╣реИрдВ рдЬреЛ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреЗ рд╣реИрдВред

рдХрд╛рд░реНрдп рдЬреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓реЗрддреЗ рд╣реИрдВ


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

 function showAlert() { alert('Fallacies do not cease to be fallacies because they become fashions'); } document.body.innerHTML += `<button type="button" class="js-alertbtn"> Show alert </button>`; const btn = document.querySelector('.js-alertbtn'); btn.addEventListener('click', showAlert); 

рдпрд╣рд╛рдВ рд╣рдордиреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдпрд╛ рдЬреЛ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдкреГрд╖реНрда рдкрд░ рдПрдХ рдмрдЯрди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдФрд░ showAlert() рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ showAlert() рдлрд╝рдВрдХреНрд╢рди рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ред

рдЬрдм рд╣рдо рд╕рд░рдгреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЙрдЪреНрдЪ рдХреНрд░рдо рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рднреА рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ : рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, .filter() рдФрд░ .reduce() ред рдЬреИрд╕реЗ elListMap() рдлрд╝рдВрдХреНрд╢рди:

 function elListMap(transform, list) { return [...list].map(transform); } 

рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдп рднреА рджреЗрд░реА рдФрд░ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред setTimeout() рдФрд░ setInterval() рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЛ 30 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж highlight рдХреНрд▓рд╛рд╕ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 function removeHighlights() { const highlightedElements = document.querySelectorAll('.highlighted'); elListMap(el => el.classList.remove('highlighted'), highlightedElements); } setTimeout(removeHighlights, 30000); 

рдлрд┐рд░ рд╕реЗ, рд╣рдордиреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдпрд╛ рдФрд░ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рджреВрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд░ рджрд┐рдпрд╛ред

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

рдлрд╝рдВрдХреНрд╢рдВрд╕ рд░рд┐рдЯрд░реНрдирд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рдВрд╕


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

 function maybe(fn) return function _maybe(...args) { // Note that the == is deliberate. if ((args.length === 0) || args.some(a => (a == null)) { return undefined; } return fn.apply(this, args); } } 

рдХреЛрдб рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдЗрдП рдкрд╣рд▓реЗ рджреЗрдЦреЗрдВ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдЗрдП elListMap() рдлрд╝рдВрдХреНрд╢рди рдХреЛ elListMap() :

 // Apply a given function to every item in a NodeList and return an array. function elListMap(transform, list) { // list might be a NodeList, which doesn't have .map(), so we convert // it to an array. return [...list].map(transform); } 

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рдЧрд▓рддреА рд╕реЗ рдЕрд╢рдХреНрдд рдпрд╛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдорд╛рди рдХреЛ elListMap() рдХрд░ elListMap() ? рд╣рдореЗрдВ рдПрдХ TypeError рдФрд░ рд╡рд░реНрддрдорд╛рди рдСрдкрд░реЗрд╢рди рдХреА рдЧрд┐рд░рд╛рд╡рдЯ рдорд┐рд▓реЗрдЧреА, рдЬреЛ рднреА рд╣реЛред рдпрд╣ maybe() рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд╕рд╛рде рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 const safeElListMap = maybe(elListMap); safeElListMap(x => x, null); // я┐й undefined 

рдЧрд┐рд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдлрд╝рдВрдХреНрд╢рди undefined рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдЕрдЧрд░ рд╣рдо рдЗрд╕реЗ maybe() рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдПрдХ рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдлрд┐рд░ рд╕реЗ undefined рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред maybe() рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд░ рд╕рдХреЗ, if рдПрдХ рдмрд┐рд▓рд┐рдпрди рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред

рдлрд╝рдВрдХреНрд╢рдВрд╕ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд░рд┐рдЯрд░реНрди рдлрд╝рдВрдХреНрд╢рдВрд╕ рднреА рдЖрдо рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, connect() ред

рддреЛ рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ?


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

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

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

 function compareNumbers(a, b) { if (a === b) return 0; if (a > b) return 1; /* else */ return -1; } 

рдЕрдм рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ:

 let nums = [7, 3, 1, 5, 8, 9, 6, 4, 2]; nums.sort(compareNumbers); console.log(nums); // уАХ[1, 2, 3, 4, 5, 6, 7, 8, 9] 

рдЖрдк рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдХреНрд░рдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ? рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд┐рддрдиреА рдмрд╛рд░ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╣реЛрддреА рд╣реИ? рдЕрдХреНрд╕рд░ рдирд╣реАрдВред рдЖрдорддреМрд░ рдкрд░ рдореБрдЭреЗ рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:

 let typeaheadMatches = [ { keyword: 'bogey', weight: 0.25, matchedChars: ['bog'], }, { keyword: 'bog', weight: 0.5, matchedChars: ['bog'], }, { keyword: 'boggle', weight: 0.3, matchedChars: ['bog'], }, { keyword: 'bogey', weight: 0.25, matchedChars: ['bog'], }, { keyword: 'toboggan', weight: 0.15, matchedChars: ['bog'], }, { keyword: 'bag', weight: 0.1, matchedChars: ['b', 'g'], } ]; 

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

 function compareTypeaheadResult(word1, word2) { return -1 * compareNumbers(word1.weight, word2.weight); } typeaheadMatches.sort(compareTypeaheadResult); console.log(typeaheadMatches); // уАХ[{keyword: "bog", weight: 0.5, matchedChars: ["bog"]}, тАж ] 

рдЖрдк рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдПрдХ рддреБрд▓рдирд╛рддреНрдордХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред .sort() рд╡рд┐рдзрд┐ рд╣рдорд╛рд░реА рдорджрдж рдХрд░рддреА рд╣реИ: тАЬрдпрджрд┐ рдЖрдк рдореБрдЭреЗ рдПрдХ рддреБрд▓рдирд╛рддреНрдордХ рдХрд╛рд░реНрдп рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдХрд┐рд╕реА рднреА рд╕рд░рдгреА рдХреЛ .sort() ред рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХрд╛рд░реНрдп рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЗрд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд░реВрдВрдЧрд╛ред " рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЖрдк рдкрд░ рдПрдХ рдЫрдБрдЯрд╛рдИ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рд╣рдо рджреЛ рддрддреНрд╡реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд╛рд░реНрдп рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред

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

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

рдпрд╣ рд╣рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред .sort() рд╡рд┐рдзрд┐ рд╕рд░рдгреА рдХреА рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдЫрдБрдЯрд╛рдИ рдХрд╛рд░реНрдп рдХреЛ рд╕рд╛рд░ рдХрд░рддреА рд╣реИред рдЗрд╕реЗ рдЪрд┐рдВрддрд╛рдУрдВ рдХрд╛ рдкреГрдердХреНрдХрд░рдг рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдп рдЖрдкрдХреЛ рдЕрдореВрд░реНрдд рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХреЗ рдмрд┐рдирд╛ рдмрд╣реБрдд рдмреЛрдЭрд┐рд▓ рдпрд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рдФрд░ рд╕рд╛рд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреЗ рдХрд╛рдо рдХрд╛ 80% рд╣реИред

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

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

рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдордЧреНрд░реА:


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

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

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


All Articles