рдХреБрдЫ рдирдИ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг

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



Object.fromEntries рд╡рд┐рдзрд┐


ES2017 рдореЗрдВ, Object.entries рд╡рд┐рдзрд┐ Object.entries ред рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдПрдХ рдЕрд░реИ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

 let students = {  amelia: 20,  beatrice: 22,  cece: 20,  deirdre: 19,  eloise: 21 } Object.entries(students) // [ // [ 'amelia', 20 ], // [ 'beatrice', 22 ], // [ 'cece', 20 ], // [ 'deirdre', 19 ], // [ 'eloise', 21 ] // ] 

рдпрд╣ рдкрджреНрдзрддрд┐ рднрд╛рд╖рд╛ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрднреБрдд рдЬреЛрдбрд╝ рдмрди рдЧрдИ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ Array рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдХрдИ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, map , filter , reduce рдиреЛрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╕рд░рдгреА рдХреЛ рдПрдХ рд╡рд╕реНрддреБ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХреЛрдИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рдирд╣реАрдВ рдереЗред рдПрдХ рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдм рдХреБрдЫ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛:

 let students = {  amelia: 20,  beatrice: 22,  cece: 20,  deirdre: 19,  eloise: 21 } //          .filter() let overTwentyOne = Object.entries(students).filter(([name, age]) => {  return age >= 21 }) // [ [ 'beatrice', 22 ], [ 'eloise', 21 ] ] //       let drinkingAgeStudents = {} for (let [name, age] of overTwentyOne) {    drinkingAgeStudents[name] = age; } // { beatrice: 22, eloise: 21 } 

Object.fromEntries рд╡рд┐рдзрд┐ рдРрд╕реЗ рдЫреЛрд░реЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдХреЛрдб рдХреА рдмрд╣реБрдд рдХрдо рдорд╛рддреНрд░рд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдбреЗрд╡рд▓реЗрдкрд░реНрд╕ рдХреЛ рдРрд░реЗ рдореЗ рдХрдирд╡рд░реНрдЯ рдХреА рдЧрдИ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдмрд╛рд░ рдРрд░реЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

 let students = {  amelia: 20,  beatrice: 22,  cece: 20,  deirdre: 19,  eloise: 21 } //          .filter() let overTwentyOne = Object.entries(students).filter(([name, age]) => {  return age >= 21 }) // [ [ 'beatrice', 22 ], [ 'eloise', 21 ] ] //       let drinkingAgeStudents = Object.fromEntries(overTwentyOne); // { beatrice: 22, eloise: 21 } 

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

 let students = [  [ 'amelia', 22 ],  [ 'beatrice', 22 ],  [ 'eloise', 21],  [ 'beatrice', 20 ] ] let studentObj = Object.fromEntries(students); // { amelia: 22, beatrice: 20, eloise: 21 } //    beatrice! 

тЦНPodderzhka


  • рдХреНрд░реЛрдо 75
  • рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 67
  • рд╕рдлрд╛рд░реА 12.1

Array.prototype.flat рд╡рд┐рдзрд┐


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

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

 let courses = [  {    subject: "math",    numberOfStudents: 3,    waitlistStudents: 2,    students: ['Janet', 'Martha', 'Bob', ['Phil', 'Candace']]  },  {    subject: "english",    numberOfStudents: 2,    students: ['Wilson', 'Taylor']  },  {    subject: "history",    numberOfStudents: 4,    students: ['Edith', 'Jacob', 'Peter', 'Betty']  } ] let courseStudents = courses.map(course => course.students) // [ //  [ 'Janet', 'Martha', 'Bob', [ 'Phil', 'Candace' ] ], //  [ 'Wilson', 'Taylor' ], //  [ 'Edith', 'Jacob', 'Peter', 'Betty' ] // ] //       -  [].concat.apply([], courseStudents) 

рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ Array.prototype.flat рд╡рд┐рдзрд┐ рд╣реИ, рдЬреЛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИ рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рд╕реНрддрд░ рдкрд░ рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ "рдЙрдард╛рдпрд╛" рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

 let courseStudents = [  [ 'Janet', 'Martha', 'Bob', [ 'Phil', 'Candace' ] ],  [ 'Wilson', 'Taylor' ],  [ 'Edith', 'Jacob', 'Peter', 'Betty' ] ] let flattenOneLevel = courseStudents.flat(1) console.log(flattenOneLevel) // [ //  'Janet', //  'Martha', //  'Bob', //  [ 'Phil', 'Candace' ], //  'Wilson', //  'Taylor', //  'Edith', //  'Jacob', //  'Peter', //  'Betty' // ] let flattenTwoLevels = courseStudents.flat(2) console.log(flattenTwoLevels) // [ //  'Janet',  'Martha', //  'Bob',   'Phil', //  'Candace', 'Wilson', //  'Taylor', 'Edith', //  'Jacob',  'Peter', //  'Betty' // ] 

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

 let courseStudents = [  [ 'Janet', 'Martha', 'Bob', [ 'Phil', 'Candace' ] ],  [ 'Wilson', 'Taylor' ],  [ 'Edith', 'Jacob', 'Peter', 'Betty' ] ] let defaultFlattened = courseStudents.flat() console.log(defaultFlattened) // [ //  'Janet', //  'Martha', //  'Bob', //  [ 'Phil', 'Candace' ], //  'Wilson', //  'Taylor', //  'Edith', //  'Jacob', //  'Peter', //  'Betty' // ] 

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

 let courseStudents = [  [ 'Janet', 'Martha', 'Bob', [ 'Phil', 'Candace' ] ],  [ 'Wilson', 'Taylor' ],  [ 'Edith', 'Jacob', 'Peter', 'Betty' ] ] let alwaysFlattened = courseStudents.flat(Infinity) console.log(alwaysFlattened) // [ //  'Janet',  'Martha', //  'Bob',   'Phil', //  'Candace', 'Wilson', //  'Taylor', 'Edith', //  'Jacob',  'Peter', //  'Betty' // ] 

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

тЦНPodderzhka


  • рдХреНрд░реЛрдо 75
  • рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 67
  • рд╕рдлрд╝рд╛рд░реА резреи

Array.prototype.flatMap рд╡рд┐рдзрд┐


flat рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде, рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдирдИ рд╕рдВрдпреБрдХреНрдд рд╡рд┐рдзрд┐ рд╣реИ - Array.prototype.flatMap ред рдКрдкрд░, рд╣рдордиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рддрд░реАрдХрд╛ рдХрд╛рдо рдЖ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЗрдП рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдореЗрдВ рдХреБрдЫ рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред рдирдИ JS рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдЖрдЧрдорди рд╕реЗ рдкрд╣рд▓реЗ рд╣рдо рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВрдЧреЗ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:

 let grades = [78, 62, 80, 64] let curved = grades.map(grade => [grade, grade + 7]) // [ [ 78, 85 ], [ 62, 69 ], [ 80, 87 ], [ 64, 71 ] ] let flatMapped = [].concat.apply([], curved) //    .       flat,      JS   // [ // 78, 85, 62, 69, // 80, 87, 64, 71 // ] 

рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ Array.prototype.flat рд╡рд┐рдзрд┐ рд╣реИ, рдЗрд╕ рдХреЛрдб рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 let grades = [78, 62, 80, 64] let flatMapped = grades.map(grade => [grade, grade + 7]).flat() // [ // 78, 85, 62, 69, // 80, 87, 64, 71 // ] 

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

 let grades = [78, 62, 80, 64] let flatMapped = grades.flatMap(grade => [grade, grade + 7]); // [ // 78, 85, 62, 69, // 80, 87, 64, 71 // ] 

рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, Array.prototype.flat рд╡рд┐рдзрд┐ рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред flatMap рд╡рд┐рдзрд┐ рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреА рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдХреЗрд╡рд▓ 1 рд╕реНрддрд░ рдкрд░ "рдЙрдард╛рддреА" рд╣реИред рдпрд╣ map рдФрд░ flat рддрд░реАрдХреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред

 let grades = [78, 62, 80, 64] let flatMapped = grades.flatMap(grade => [grade, [grade + 7]]); // [ //  78, [ 85 ], //  62, [ 69 ], //  80, [ 87 ], //  64, [ 71 ] // ] 

тЦНPodderzhka


  • рдХреНрд░реЛрдо 75
  • рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 67
  • рд╕рдлрд╝рд╛рд░реА резреи

String.prototype.trimStart рдФрд░ String.prototype.trimEnd рд╡рд┐рдзрд┐рдпрд╛рдБ


ES2019 рдХреА рдПрдХ рдФрд░ рдЕрдЪреНрдЫреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЙрдкрдирд╛рдо рд╣реИ рдЬреЛ рдХреБрдЫ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рд╕рд╛рд░реНрдердХ рдирд╛рдо рджреЗрддреА рд╣реИред рдкрд╣рд▓реЗ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ String.prototype.trimRight рдФрд░ String.prototype.trimLeft рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣рдорд╛рд░реЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ String.prototype.trimLeft :

 let message = "  Welcome to CS 101  " message.trimRight() // '  Welcome to CS 101' message.trimLeft() // 'Welcome to CS 101  ' message.trimRight().trimLeft() // 'Welcome to CS 101' 

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

 let message = "  Welcome to CS 101  " message.trimEnd() // '  Welcome to CS 101' message.trimStart() // 'Welcome to CS 101  ' message.trimEnd().trimStart() // 'Welcome to CS 101' 

тЦНPodderzhka


  • рдХреНрд░реЛрдо 75
  • рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 67
  • рд╕рдлрд╝рд╛рд░реА резреи

рд╡реИрдХрд▓реНрдкрд┐рдХ рдкрдХрдбрд╝ рдмреНрд▓реЙрдХ рддрд░реНрдХ


ES2019 рдХреА рдПрдХ рдФрд░ рдЕрдЪреНрдЫреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЯреНрд░рд╛рдЗ try-catch рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рддрд░реНрдХ рдЕрдм рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓реЗ, рд╕рднреА catch рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЕрдкрд╡рд╛рдж рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛ рдерд╛ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдкрд░ рднреА рдЗрд╕реЗ catch рд▓рд┐рдП рддрд░реНрдХ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛ред

 try {  let parsed = JSON.parse(obj) } catch(e) {  // e      console.log("error") } 

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

 try {  let parsed = JSON.parse(obj) } catch {  console.log("error") } 

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

тЦНPodderzhka


  • рдХреНрд░реЛрдо 75
  • рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 67
  • рд╕рдлрд╝рд╛рд░реА резреи

рдлрдВрдХреНрд╢рди рдореЗрдВ рдмрджрд▓рд╛рд╡ редprototyp.toString рд╡рд┐рдзрд┐


ES2019 рдорд╛рдирдХ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рд╡рд┐рдзрд┐ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдкрд╣рд▓реЗ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛрдб рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдереЛрдбрд╝рд╛ рд╡рд┐рдХреГрдд рдХрд┐рдпрд╛:

 function greeting() {  const name = 'CSS Tricks'  console.log(`hello from ${name}`) } greeting.toString() //'function greeting() {\nconst name = \'CSS Tricks\'\nconsole.log(`hello from ${name} //`)\n} 

рдЕрдм рдпрд╣ рд╡рд┐рдзрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред

 function greeting() {  const name = 'CSS Tricks'  console.log(`hello from ${name}`) } greeting.toString() // 'function greeting() {\n' + // " const name = 'CSS Tricks'\n" + // ' console.log(`hello from ${name}`)\n' + // '}' 

тЦНPodderzhka



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


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

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдХреНрдпрд╛ рдЖрдкрдиреЗ рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЬреЗрдПрд╕ рдХреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреА рд╣реИрдВ?

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


All Articles