рд╣рдо рдЖрдкрдХреЗ рд▓рд┐рдП рдереЙрдорд╕ рд▓реЛрдореНрдмрд░реНрдЯ рдХреЗ рдПрдХ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ medium.freecodecamp.org рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдЖ рдерд╛ред рд▓реЗрдЦрдХ рдХреА рдЕрдиреБрдорддрд┐ рд╕реЗ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рд╕рд░рдгреА рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгрдореБрдЭреЗ рдПрдХ рд╕рд╛рд╣рд╕рд┐рдХ рдмрдпрд╛рди рджреЗрдиреЗ рджреЗрдВ: рд▓реВрдк рдЕрдХреНрд╕рд░ рдмреЗрдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдХреЛрдб рдХреЛ рдкрдврд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдмрдирд╛ рджреЗрддрд╛ рд╣реИред рд╕рд░рдгрд┐рдпреЛрдВ, рдЦреЛрдЬ, рддрддреНрд╡реЛрдВ рдХреЛ рдЫрд╛рдВрдЯрдиреЗ рдФрд░ рдЕрдиреНрдп рд╕рдорд╛рди рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрднреА рднреА рдмрд╣реБрдд рдХрдо рдЬреНрдЮрд╛рдд рд╣реИрдВ рдФрд░ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рдирд╣реАрдВ рд╣реИрдВред рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░реВрдВрдЧрд╛ рдФрд░ рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд░рдгреА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЧрд╛рдЗрдб рдХреЗ рд░реВрдк рдореЗрдВ рдкрдврд╝реЗрдВред
рдиреЛрдЯ : рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рд╢реБрд░реВ рдХрд░реЗрдВ, рдЖрдкрдХреЛ рдПрдХ рдмрд╛рдд рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ: рдореИрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкрдХреНрд╖рдкрд╛рддреА рд╣реВрдВред рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯреНрд╕ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЙрди рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдореВрд▓ рд╕рд░рдгреА рдХреЛ рд╕реАрдзреЗ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдЖрдкрдХреЛ рд╕рд░рдгреА рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХреБрдЫ рд╡рд┐рдзрд┐рдпрд╛рдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдиреЗрддреГрддреНрд╡ рдХрд░рддреА рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ, рдЕрд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдФрд░, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдмрдЧ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред
рдпрд╣ рд▓реЗрдЦ рдореВрд▓ рд░реВрдк рд╕реЗ
thomlom.dev рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд╣рд╛рдВ рдЖрдк рдЕрдзрд┐рдХ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдордЧреНрд░реА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдореВрд▓ рдмрд╛рддреЗрдВ
рдЕрдЧрд░ рдЖрдк рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд╛рдпрдХ рдЪрд╛рд░ рддрд░реАрдХреЗ рд╣реИрдВред рдпреЗ
map
,
filter
,
reduce
рдФрд░
spread
рдСрдкрд░реЗрдЯрд░ рд╣реИрдВред рд╡реЗ рдкреНрд░рднрд╛рд╡реА рдФрд░ рдЙрдкрдпреЛрдЧреА рд╣реИрдВред
рдирдХреНрд╢рд╛рдЖрдк рдЕрдХреНрд╕рд░
map
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рд░ рдмрд╛рд░ рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдпрд╣ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ - рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬрд┐рд╕реЗ рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдкрд░ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдПрдХ
рдирдпрд╛ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреЛрдИ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рди рд╣реЛ рд╕рдХреЗред
const numbers = [1, 2, 3, 4] const numbersPlusOne = numbers.map(n => n + 1) console.log(numbersPlusOne)
рдЖрдк рдПрдХ рдирдпрд╛ рд╕рд░рдгреА рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
const allActivities = [ { title: 'My activity', coordinates: [50.123, 3.291] }, { title: 'Another activity', coordinates: [1.238, 4.292] } ] const allCoordinates = allActivities.map(activity => activity.coordinates) console.log(allCoordinates)
рддреЛ, рдпрд╛рдж рд░рдЦреЗрдВ: рдЬрдм рдЖрдкрдХреЛ
рдПрдХ рд╕рд░рдгреА
рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ
рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВред
рдлрд┐рд▓реНрдЯрд░рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдирд╛рдо рд╕реНрд╡рдпрдВ рдХреЗ рд▓рд┐рдП рдмреЛрд▓рддрд╛ рд╣реИ: рдЬрдм рдЖрдк рдХрд┐рд╕реА рд╕рд░рдгреА рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
map
рддрд░рд╣,
filter
рдПрдХрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓реЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдкрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рдмреВрд▓рд┐рдпрди рдорд╛рди рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
true
- рдЕрдЧрд░ рдЖрдк рдПрд░реЗ рдореЗрдВ рддрддреНрд╡ рдХреЛ рдмрдЪрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ;false
- рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╕рд╣реЗрдЬрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдирддреАрдЬрддрди, рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╣реА рдирдП рд╕рд░рдгреА рд╣реЛрдВрдЧреЗ рдЙрди рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рд╡рд┐рд╖рдо рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдХрд┐рд╕реА рд╕рд░рдгреА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
const numbers = [1, 2, 3, 4, 5, 6] const oddNumbers = numbers.filter(n => n % 2 !== 0) console.log(oddNumbers)
рдЖрдк рд╕рд░рдгреА рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрддреНрд╡ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
const participants = [ { id: 'a3f47', username: 'john' }, { id: 'fek28', username: 'mary' }, { id: 'n3j44', username: 'sam' }, ] function removeParticipant(participants, id) { return participants.filter(participant => participant.id !== id) } console.log(removeParticipant(participants, 'a3f47'))
рдХреЛ рдХрдордореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рд╕рдордЭрдирд╛ рд╕рдмрд╕реЗ рдХрдард┐рди рд╣реИред рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ рд╣реА рдЖрдк рдЗрд╕рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрд╡рд╕рд░реЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рдЖрдорддреМрд░ рдкрд░,
reduce
рд╡рд┐рдзрд┐ рдорд╛рдиреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд▓реЗрддреА рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдПрдХрд▓ рдорд╛рди рдореЗрдВ рд╕рдореЗрдЯрддреА рд╣реИред рдпрд╣ рджреЛ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ, рдПрдХ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди (рдЬреЛ
рд░рд┐рдбреНрдпреВрд╕рд░ рд╣реИ ) рдФрд░ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп (рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрд░реЗ рдХрд╛ рдкрд╣рд▓рд╛ рддрддреНрд╡ рд╣реИ)ред рдЧрд┐рдпрд░рдмреЙрдХреНрд╕ рд╕реНрд╡рдпрдВ рдЪрд╛рд░ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ:
- рдПрдХ рдмреИрдЯрд░реА рдЬреЛ рдЧрд┐рдпрд░рдмреЙрдХреНрд╕ рдореЗрдВ рджрд┐рдП рдЧрдП рдорд╛рдиреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддреА рд╣реИ;
- рд╕рд░рдгреА рдХрд╛ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп;
- рд╡рд░реНрддрдорд╛рди рд╕реВрдЪрдХрд╛рдВрдХ;
- рд╡рд╣ рд╕рд░рдгреА рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП
reduce
рд╡рд┐рдзрд┐ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрдк рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ - рдмреИрдЯрд░реА рдФрд░ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рд▓реЗрдХрд┐рди рдЪрд▓реЛ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░
reduce
рдХрд░рдиреЗ рдХреЗ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
const numbers = [37, 12, 28, 4, 9] const total = numbers.reduce((total, n) => total + n) console.log(total)
рдкрд╣рд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдВ, рд╕рдВрдЪрд╛рдпрдХ, рдЬреЛ рдХрд┐ рд░рд╛рд╢рд┐ рд╣реИ, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп 37 рд▓реЗрддрд╛ рд╣реИред рд▓реМрдЯрд╛рдпрд╛ рдЧрдпрд╛ рдорд╛рди 37 + n рд╣реИ, рдЬрд╣рд╛рдВ n = 12. рд╣рдореЗрдВ 49 рдорд┐рд▓рддрд╛ рд╣реИред
рджреВрд╕рд░реА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рджреМрд░рд╛рди, рд╕рдВрдЪрд╛рдпрдХ 49 рд╣реИ, рд▓реМрдЯрд╛рдпрд╛ рдЧрдпрд╛ рдорд╛рди 49 + 28 = 77 рд╣реИред рдФрд░ рдЗрд╕реА рддрд░рд╣ред
reduce
рд╡рд┐рдзрд┐ рдЗрддрдиреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ
map
рдпрд╛
filter
рдЬреИрд╕реА рдХрдИ рд╕рд░рдгреА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
const map = (arr, fn) => { return arr.reduce((mappedArr, element) => { return [...mappedArr, fn(element)] }, []) } console.log(map([1, 2, 3, 4], n => n + 1))
рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рдзрд┐
[]
рдХреЛ
reduce
рд╡рд┐рдзрд┐ - рд╕рдВрдЪрд╛рдпрдХ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВред
map
рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо
рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреИрдЯрд░реА рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреАрдЪреЗ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ)ред
filter
рд▓рдЧрднрдЧ рдПрдХ рд╣реА рдХрд╛рдо рдХрд░
filter
рд╣реИрдВ, рд╣рдо рдХреЗрд╡рд▓ рддрддреНрд╡ рдкрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдпрд╣ рд╕рд╣реА рд╣реИ, рддреЛ рд╣рдо
рдкрд┐рдЫрд▓реА рд╕рд░рдгреА рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВред рдЕрдиреНрдпрдерд╛, рддрддреНрд╡ рдХреЛ рд╕рд░рдгреА рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
рдЖрдЗрдП рдПрдХ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ: рд╕рд░рдгреА рдХреЛ рдХрдо рдХрд░реЗрдВ
[1, 2, 3, [4, [[[5, [6, 7]]]], 8]]
рд╕реЗ
[1, 2, 3, 4, 5, 6, 7, 8]
ред
function flatDeep(arr) { return arr.reduce((flattenArray, element) => { return Array.isArray(element) ? [...flattenArray, ...flatDeep(element)] : [...flattenArray, element] }, []) } console.log(flatDeep([1, 2, 3, [4, [[[5, [6, 7]]]], 8]]))
рдпрд╣ рдЙрджрд╛рд╣рд░рдг
map
рд╕рдорд╛рди рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд╣рдо рдпрд╣рд╛рдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рд╡рд┐рд╖рдп рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕
рдЙрддреНрдХреГрд╖реНрдЯ рд╕рдВрд╕рд╛рдзрди рдкрд░ рдЬрд╛рдПрдВ ред
рд╕реНрдкреНрд░реЗрдб рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ (ES2015)рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ, рдпрд╣ рдХреЛрдИ рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдлреИрд▓рд╛рдиреЗ рд╡рд╛рд▓рд╛ рдСрдкрд░реЗрдЯрд░ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╡рд┐рднрд┐рдиреНрди рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЖрдк рдПрдХ рд╕рд░рдгреА рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рджреВрд╕рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдПрдХ рд╕рд╛рде рдХрдИ рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдпрд╛ рд▓рд┐рдВрдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
const numbers = [1, 2, 3] const numbersCopy = [...numbers] console.log(numbersCopy)
рдиреЛрдЯ : рдлреИрд▓рд╛ рд╣реБрдЖ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореВрд▓ рд╕рд░рдгреА
рдХреА рдЙрдерд▓реА рдкреНрд░рддрд┐ рдмрдирд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди "рд╕рддрд╣реА" рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ?
рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдореВрд▓ рддрддреНрд╡реЛрдВ рдХреА рдпрдерд╛рд╕рдВрднрд╡ рдирдХрд▓ рдХрд░реЗрдЧреАред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдВрдЦреНрдпрд╛рдУрдВ, рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдпрд╛ рдмреВрд▓рд┐рдпрди рдорд╛рди (
рдЖрджрд┐рдо рдкреНрд░рдХрд╛рд░ ) рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рд╣реИ, рддреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдорд╛рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЛрд╣рд░рд╛рдП рдЧрдП рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐,
рд╡рд╕реНрддреБрдПрдВ рдФрд░
рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЪреАрдЬреЗрдВ рдЕрд▓рдЧ рд╣реИрдВ: рдХреЗрд╡рд▓ рдореВрд▓ рдореВрд▓реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ
рд╕рдВрджрд░реНрдн рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдЧрдИ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рд╣рд┐рдд рд╕рд░рдгреА рдХреА рдПрдХ рдЙрдерд▓реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдХреЙрдкреА рдХрд┐рдП рдЧрдП рд╕рд░рдгреА рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдореВрд▓ рдореЗрдВ рднреА рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ
рд╣реА рд╕рдВрджрд░реНрдн рд╣реИ ред
const arr = ['foo', 42, { name: 'Thomas' }] let copy = [...arr] copy[0] = 'bar' console.log(arr)
рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдРрд╕реА рд╕рд░рдгреА рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдСрдмреНрдЬреЗрдХреНрдЯ рдпрд╛ рд╕рд░рдгрд┐рдпрд╛рдБ рд╣реИрдВ, рддреЛ рдЖрдк cladDeep рдЬреИрд╕реЗ рдПрдХ рд▓реЙрд╢ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рдмрд╛рдзреНрдп рди рд╕рдордЭреЗрдВред рдЖрдкрдХрд╛ рд▓рдХреНрд╖реНрдп рдпрд╣
рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реИ рдХрд┐ рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рд╕рдм рдХреБрдЫ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ред
рдЙрдкрдпреЛрдЧреА рддрд░реАрдХреЗ
рдиреАрдЪреЗ рдЖрдкрдХреЛ рдРрд╕реА рдЕрдиреНрдп рд╡рд┐рдзрд┐рдпрд╛рдБ рдорд┐рд▓реЗрдВрдЧреА рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рднреА рдЙрдкрдпреЛрдЧреА рд╣реИ рдФрд░ рдЬреЛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдХрд┐рд╕реА рдПрд░реЗ рдореЗрдВ рддрддреНрд╡ рдЦреЛрдЬрдирд╛, рдХрд┐рд╕реА рдРрд░реЗ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╣рдЯрд╛рдирд╛ рдФрд░ рдмрд╣реБрдд рдХреБрдЫред
рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (ES2015)рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП
indexOf
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рд╕реА рд╕рд░рдгреА рдореЗрдВ рдХреЛрдИ рддрддреНрд╡ рд╣реИ рдпрд╛ рдирд╣реАрдВ? рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рднрдпрд╛рдирдХ рддрд░реАрдХрд╛ рд╣реИ, рд╣реИ рдирд╛?
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ,
includes
рд╡рд┐рдзрд┐ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рддреНрдпрд╛рдкрди рдХрд░рддреА рд╣реИред рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░реЗрдВ, рдФрд░ рдпрд╣ рдПрд░реЗ рдореЗрдВ рддрддреНрд╡ рдХреА рдЦреЛрдЬ рдХрд░реЗрдЧрд╛ред
const sports = ['football', 'archery', 'judo'] const hasFootball = sports.includes('football') console.log(hasFootball)
concatрд╕рдорд╡рд░реНрддреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЛ рдпрд╛ рдЕрдзрд┐рдХ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
const numbers = [1, 2, 3] const otherNumbers = [4, 5, 6] const numbersConcatenated = numbers.concat(otherNumbers) console.log(numbersConcatenated)
foreachрдпрджрд┐ рдЖрдк рдРрд░реЗ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХреНрд░рд┐рдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк
forEach
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓реЗрддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рддреАрди рдкреИрд░рд╛рдореАрдЯрд░ рднреА рд▓реЗрддрд╛ рд╣реИ: рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп, рд╕реВрдЪрдХрд╛рдВрдХ рдФрд░ рд╕рд░рдгреАред
const numbers = [1, 2, 3, 4, 5] numbers.forEach(console.log)
indexOfрдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд╣рд▓реЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рддрддреНрд╡ рд╕рд░рдгреА рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛,
indexOf
рдЕрдХреНрд╕рд░ рдХрд┐рд╕реА рдПрд░реЗ рдореЗрдВ рддрддреНрд╡ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдЕрдм рдореИрдВ рдЗрд╕реЗ рдЕрд╕реАрдо рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
const sports = ['football', 'archery', 'judo'] const judoIndex = sports.indexOf('judo') console.log(judoIndex)
рдЦреЛрдЬfind
рд╡рд┐рдзрд┐
filter
рд╕рдорд╛рди рд╣реИред рдЖрдкрдХреЛ рдЗрд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬреИрд╕реЗ рд╣реА рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рд╡реИрд╕реЗ рд╣реА рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд░реЛрдХ рджреЗрддрд╛ рд╣реИред рдпрд╣
рдПрдХ filter
рдирд╣реАрдВ рд╣реИ рдЬреЛ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдкреВрд░реЗ рд╕рд░рдгреА рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░рддрд╛ рд╣реИред
const users = [ { id: 'af35', name: 'john' }, { id: '6gbe', name: 'mary' }, { id: '932j', name: 'gary' }, ] const user = users.find(user => user.id === '6gbe') console.log(user)
рдЗрд╕рд▓рд┐рдП, рдЬрдм рдЖрдк
рд╕рдВрдкреВрд░реНрдг рд╕рд░рдгреА рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ
filter
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ рдЬрдм рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рд╕рд░рдгреА рдореЗрдВ рдПрдХ
рдЕрджреНрд╡рд┐рддреАрдп рддрддреНрд╡ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЦреЛрдЬ рд╡рд┐рдзрд┐ред
findIndexрдпрд╣ рд╡рд┐рдзрд┐ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рддрддреНрд╡ рдХреЗ рдмрдЬрд╛рдп рдкрд╣рд▓реЗ рддрддреНрд╡ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддрд╛ рд╣реИред
const users = [ { id: 'af35', name: 'john' }, { id: '6gbe', name: 'mary' }, { id: '932j', name: 'gary' }, ] const user = users.findIndex(user => user.id === '6gbe') console.log(user)
рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐
findIndex
рдФрд░
indexOf
рдПрдХ рд╣реА рдЪреАрдЬ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВред
indexOf
рдХрд╛ рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХ рдЖрджрд┐рдо рдорд╛рди (рдПрдХ рдмреВрд▓рд┐рдпрди рдорд╛рди, рд╕рдВрдЦреНрдпрд╛, рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдорд╛рди рдпрд╛ рд╡рд░реНрдг) рд╣реИ, рдЬрдмрдХрд┐ рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░,
findIndex
рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЬрдм рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрддреНрд╡ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рдЖрджрд┐рдо рдореВрд▓реНрдпреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдк
indexOf
рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рддрддреНрд╡ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ, рддреЛ
findIndex
рдЙрдкрдпреЛрдЧ
findIndex
ред
рдЯреБрдХрдбрд╝рд╛рдЬрдм рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╕рд░рдгреА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд▓реЗрдиреЗ рдпрд╛ рдХрд┐рд╕реА рд╕рд░рдгреА рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдк
slice
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ: рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░ рдХреА рддрд░рд╣,
slice
рдПрдХ
рдЙрдерд▓реА рдкреНрд░рддрд┐ рджреЗрддрд╛ рд╣реИред
const numbers = [1, 2, 3, 4, 5] const copy = numbers.slice()
рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдХрд┐ рд▓реВрдк рдЕрдХреНрд╕рд░ рдмреЗрдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВред рдореИрдВ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдКрдВ рдХрд┐ рдЗрдирд╕реЗ рдХреИрд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдпрд╛ рдЬрд╛рдПред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдПрдкреАрдЖрдИ рд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдВрджреЗрд╢ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЙрдирдореЗрдВ рд╕реЗ рдкрд╛рдВрдЪ рдХреЛ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред рдиреАрдЪреЗ рджреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВ: рдПрдХ рдЫреЛрд░реЛрдВ рдХреЗ рд╕рд╛рде, рджреВрд╕рд░рд╛
slice
рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рдеред
рдХреБрдЫрдпрджрд┐ рдЖрдк рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
рдХрд┐ рд╕рд░рдгреА
рдХрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рддрддреНрд╡ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк
some
рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
map
,
filter
рдпрд╛
find
,
some
рд╡рд┐рдзрд┐ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХрдорд╛рддреНрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреА рд╣реИ, рдФрд░ рдлрд┐рд░
true
рд╣реЛ рдЬрд╛рддрд╛
true
рдЕрдЧрд░ рдХрдо рд╕реЗ рдХрдо рдПрдХ рддрддреНрд╡ рдЪреЗрдХ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдирд╣реАрдВ рддреЛ
false
ред
some
рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреБрдХреНрдд рд╣реИред
const users = [ { id: 'fe34', permissions: ['read', 'write'], }, { id: 'a198', permissions: [], }, { id: '18aa', permissions: ['delete', 'read', 'write'], } ] const hasDeletePermission = users.some(user => user.permissions.includes('delete') ) console.log(hasDeletePermission)
рдкреНрд░рддреНрдпреЗрдХрдпрд╣ рд╡рд┐рдзрд┐
some
рд╕рдорд╛рди рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдпрд╣ рдЬрд╛рдВрдЪрддреА рд╣реИ рдХрд┐
рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ (рдФрд░
рдПрдХ рдирд╣реАрдВ ) рд╕реНрдерд┐рддрд┐ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
const users = [ { id: 'fe34', permissions: ['read', 'write'], }, { id: 'a198', permissions: [], }, { id: '18aa', permissions: ['delete', 'read', 'write'], } ] const hasAllReadPermission = users.every(user => user.permissions.includes('read') ) console.log(hasAllReadPermission)
рдлреНрд▓реИрдЯ (ES2019)рдпреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдП рддрд░реАрдХреЗ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░
flat
рдПрдХ рдирдпрд╛ рд╕рд░рдгреА рдмрдирд╛рддрд╛ рд╣реИ, рдПрдХ рдиреЗрд╕реНрдЯреЗрдб рд╕рд░рдгреА рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ - рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдЖрдк рд╕рд░рдгреА рдХреЗ рдЖрдпрд╛рдо рдХреЛ рдХрд┐рддрдирд╛ рдХрдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
const numbers = [1, 2, [3, 4, [5, [6, 7]], [[[[8]]]]]] const numbersflattenOnce = numbers.flat() console.log(numbersflattenOnce)
рдлреНрд▓реИрдЯрдкрд╛рдЗрдк (ES2019)рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рдХреНрдпрд╛ рдХрд░рддреА рд╣реИ? рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдЖрдк рдПрдХ рдирд╛рдо рдХреЛ рд╕рдордЭреЗрдВрдЧреЗред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдореИрдкрд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдЪрд▓рд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдПрдХ рд╕рдордп рдореЗрдВ рд╕рд░рдгреА рдХреЛ рд╕рд┐рдХреЛрдбрд╝рддрд╛ рд╣реИред рдЙрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░рд▓!
const sentences = [ 'This is a sentence', 'This is another sentence', "I can't find any original phrases", ] const allWords = sentences.flatMap(sentence => sentence.split(' ')) console.log(allWords)
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд░рдгреА рдореЗрдВ рдХрдИ рд╡рд╛рдХреНрдп рд╣реИрдВ рдФрд░ рдЖрдк рд╕рднреА рд╢рдмреНрджреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
map
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рд╕рднреА рд╡рд╛рдХреНрдпреЛрдВ рдХреЛ рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рд╕рд░рдгреА рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк
flatMap
рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдлрд┐рд░ рдЖрдк
reduce
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд╢рдмреНрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╣
flatMap
рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдореИрдВ рд╕рд┐рд░реНрдл рдЖрдкрдХреЛ
reduce
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ
reduce
рдХрд╛ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ)ред
const wordsCount = allWords.reduce((count, word) => { count[word] = count[word] ? count[word] + 1 : 1 return count }, {}) console.log(wordsCount)
flatMap
рд╡рд┐рдзрд┐
flatMap
рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк
рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗрдпрджрд┐ рдЖрдкрдХреЛ рд╕рд░рдгреА рддрддреНрд╡реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ
join
рд╡рд┐рдзрд┐ рд╡рд╣ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЖрдкрдХреЛ рдЙрдкрд▓рдмреНрдз рд╡рд┐рднрд╛рдЬрдХ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рд╕рд░рдгреА рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдПрдХ рдирдИ рд░реЗрдЦрд╛ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
join
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
join
рдЖрдк рдХрд┐рд╕реА рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ рд╕рднреА рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
const participants = ['john', 'mary', 'gary'] const participantsFormatted = participants.join(', ') console.log(participantsFormatted)
рдФрд░ рдпрд╣ рдПрдХ рдЕрдзрд┐рдХ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдкрд╣рд▓реЗ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
const potentialParticipants = [ { id: 'k38i', name: 'john', age: 17 }, { id: 'baf3', name: 'mary', age: 13 }, { id: 'a111', name: 'gary', age: 24 }, { id: 'fx34', name: 'emma', age: 34 }, ] const participantsFormatted = potentialParticipants .filter(user => user.age > 18) .map(user => user.name) .join(', ') console.log(participantsFormatted)
рд╕реЗрдпрд╣ рдПрдХ
рд╕реНрдЯреИрдЯрд┐рдХ рд╡рд┐рдзрд┐ рд╣реИ, рдЬреЛ рдПрдХ рдЕрд░реЗрдВрдЬ-рд▓рд╛рдЗрдХ рдпрд╛ iterable рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдПрдХ рдирдпрд╛ рдПрд░реЗ рдмрдирд╛рддрд╛ рд╣реИред рдЬрдм рдЖрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХрд╛рдо рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИред
const nodes = document.querySelectorAll('.todo-item')
рдХреНрдпрд╛ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рд╣рдордиреЗ рдПрдХ рд╕рд░рдгреА рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╕рд░рдгреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ? рдЗрд╕реАрд▓рд┐рдП рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рд╕реНрдереИрддрд┐рдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдлрд┐рд░ рдЖрдк рдиреЛрдбреНрд╕ рдХреЗ рд╕рд╛рде рдордЬрд╝реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдИрд╡реЗрдВрдЯ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ред
todoItems.forEach(item => { item.addEventListener('click', function() { alert(`You clicked on ${item.innerHTML}`) }) })
рдПрд░реЗ рдореЙрдбрд┐рдлрд┐рдХреЗрд╢рди рд╡рд░реНрде рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреНрдп рдорд╛рдирдХ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВред рдЙрдирдХрд╛ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдореВрд▓ рд╕рд░рдгреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрджрд┐ рдЖрдк рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдореВрд▓ рд╕рд░рдгреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ рд╕реЗ рдПрдХ рд╕рддрд╣ рдпрд╛ рдкреВрд░реНрдг рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдВред
const arr = [1, 2, 3, 4, 5] const copy = [...arr]
рддрд░рд╣рд╣рд╛рдВ,
sort
рдореВрд▓ рд╕рд░рдгреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдЬрдЧрд╣ рдореЗрдВ рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рд╡рд┐рдзрд┐ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рддрд╛рд░ рдореЗрдВ рдмрджрд▓ рджреЗрддреА рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░рддреА рд╣реИред
const names = ['john', 'mary', 'gary', 'anna'] names.sort() console.log(names)
рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ: рдпрджрд┐ рдЖрдк, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рдпрдерди рднрд╛рд╖рд╛ рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рддреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп
sort
рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рджреЗрдЧреАред
const numbers = [23, 12, 17, 187, 3, 90] numbers.sort() console.log(numbers)
рдлрд┐рд░ рдПрдХ рд╕рд░рдгреА рдХреЛ рдХреИрд╕реЗ рд╕реЙрд░реНрдЯ рдХрд░реЗрдВ?
sort
рд╡рд┐рдзрд┐ рдПрдХ рдлрд╝рдВрдХреНрд╢рди -
рдПрдХ рддреБрд▓рдирд╛рддреНрдордХ рдлрд╝рдВрдХреНрд╢рди рд▓реЗрддреА рд╣реИред рдпрд╣ рджреЛ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ: рдкрд╣рд▓рд╛ рддрддреНрд╡ (
) рдФрд░ рджреВрд╕рд░рд╛ рддрддреНрд╡ рддреБрд▓рдирд╛ (
b
) рдХреЗ рд▓рд┐рдПред рдЗрди рджреЛ рддрддреНрд╡реЛрдВ рдХреЗ рдмреАрдЪ рдХреА рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрдХ рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдпрджрд┐ рдорд╛рди рдЛрдгрд╛рддреНрдордХ рд╣реИ -
a
b
рд╕реЗ рдкрд╣рд▓реЗ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ a
; - рдпрджрд┐ рдорд╛рди рдзрдирд╛рддреНрдордХ рд╣реИ, рддреЛ
b
рдкрд╣рд▓реЗ рдЫрд╛рдВрдЯрд╛ b
a
; - рдпрджрд┐ рдорд╛рди 0 рд╣реИ, рддреЛ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВред
рдлрд┐рд░ рдЖрдк рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
const numbers = [23, 12, 17, 187, 3, 90] numbers.sort((a, b) => a - b) console.log(numbers)
рдпрд╛ рдЖрдк рдирд╡реАрдирддрдо рд╕реЗ рддрд╛рд░реАрдЦреЛрдВ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
const posts = [ { title: 'Create a Discord bot under 15 minutes', date: new Date(2018, 11, 26), }, { title: 'How to get better at writing CSS', date: new Date(2018, 06, 17) }, { title: 'JavaScript arrays', date: new Date() }, ] posts.sort((a, b) => a.date - b.date)
рднрд░рдгfill
рд╡рд┐рдзрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗ рдЕрдВрдд рддрдХ рд╕рд░рдгреА рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдпрд╛ рднрд░рддрд╛ рд╣реИред
fill
рдХреЗ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рд╕рд░рдгреА
fill
рд╣реИред
рдЙрд▓рдЯрд╛рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрд╕рдХрд╛ рд╕рд╛рд░ рдмрддрд╛рддрд╛ рд╣реИред
const numbers = [1, 2, 3, 4, 5] numbers.reverse() console.log(numbers)
рдкреЙрдкрдпрд╣ рд╡рд┐рдзрд┐ рдЕрдВрддрд┐рдо рддрддреНрд╡ рдХреЛ рд╕рд░рдгреА рд╕реЗ рдирд┐рдХрд╛рд▓рддреА рд╣реИ рдФрд░ рдЙрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рддреА рд╣реИред
const messages = ['Hello', 'Hey', 'How are you?', "I'm fine"] const lastMessage = messages.pop() console.log(messages)
рдРрд╕реЗ рддрд░реАрдХреЗ рдЬрд┐рдиреНрд╣реЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдЕрдВрддрд┐рдо рдЦрдВрдб рдореЗрдВ, рдЖрдкрдХреЛ рдРрд╕реА рд╡рд┐рдзрд┐рдпрд╛рдБ рдорд┐рд▓реЗрдВрдЧреА рдЬреЛ рдореВрд▓ рд╕рд░рдгреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреА рд╣реИрдВ рдФрд░ рдЬреЛ рд╡рд┐рдХрд▓реНрдк рдЦреЛрдЬрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЫреВрдЯ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореИрдВ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдпрд╣ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреБрдЫ рддрд░реАрдХреЛрдВ рдХреЗ рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдзрдХреНрдХрд╛рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рд╕рд░рдгреА рдореЗрдВ рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рддрддреНрд╡ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдирдпрд╛ рд╕рд░рдгреА рдмрдирд╛рддрд╛ рд╣реИред
const todoItems = [1, 2, 3, 4, 5] const itemsIncremented = [] for (let i = 0; i < items.length; i++) { itemsIncremented.push(items[i] + 1) } console.log(itemsIncremented)
рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐
itemsIncremented
рд╡рд┐рдзрд┐ рдореЗрдВ рд╣реИ, рддреЛ рдЙрдкрдпреБрдХреНрдд
map
,
filter
рдпрд╛
reduce
itemsIncremented
рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
map
рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред
const itemsIncremented = todoItems.map(x => x + 1)
рдФрд░ рдпрджрд┐ рдЖрдк рдПрдХ рдирдП рддрддреНрд╡ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░
push
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░ рдЙрдкрдпреЛрдЧреА рд╣реИред
const todos = ['Write an article', 'Proofreading'] console.log([...todos, 'Publish the article'])
рдмреНрдпрд╛рд╣рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЗрдВрдбреЗрдХреНрд╕ рдкрд░ рдХрд┐рд╕реА рддрддреНрд╡ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
splice
рдЕрдХреНрд╕рд░ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк
filter
рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
const months = ['January', 'February', 'March', 'April', ' May']
рдЖрдк рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ: рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореБрдЭреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рддрддреНрд╡реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдлрд┐рд░
slice
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
const months = ['January', 'February', 'March', 'April', ' May']
рдкрд╛рд▓реАshift
рд╡рд┐рдзрд┐ рд╕рд░рдгреА рдХреЗ рдкрд╣рд▓реЗ рддрддреНрд╡ рдХреЛ рд╣рдЯрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рддреА рд╣реИред рдлрд╝рдВрдХреНрд╢рдирд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рд╢реИрд▓реА рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕реНрдкреНрд░реЗрдб рдпрд╛ рд░реЗрд╕реНрдЯ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
const numbers = [1, 2, 3, 4, 5]
unshiftрдЕрдирд╢рд┐рдлреНрдЯ рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╕рд░рдгреА рдХреЗ рдЖрд░рдВрдн рдореЗрдВ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рддрддреНрд╡ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
shift
рддрд░рд╣, рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
const numbers = [3, 4, 5]
рдЯреАрдПрд▓, рдбреЙ
- рдЬрдм рдЖрдк рдПрдХ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд▓реВрдк рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ рдФрд░ рдкрд╣рд┐рдпрд╛ рдХреЛ рд╕реБрджреГрдврд╝ рди рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдКрдкрд░ рд╕реЗ рдПрдХ рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдЖрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
- рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЖрдк
map
, filter
, reduce
рддрд░реАрдХреЛрдВ рдФрд░ рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ - рдпреЗ рдХрд┐рд╕реА рднреА рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЙрдкрдХрд░рдг рд╣реИрдВред - рдХрдИ рдРрд░реЗ рддрд░реАрдХреЗ рднреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЬрд╛рдирдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛:
slice
, some
, flatMap
рдЖрджрд┐ред рдЙрдиреНрд╣реЗрдВ рдЬрд╛рди рд▓реЗрдВ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЖрд╡реЗрджрди рдХрд░реЗрдВред - рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рд╕реЗ рдЕрд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдХреБрдЫ рд╡рд┐рдзрд┐рдпрд╛рдБ рдЖрдкрдХреЗ рдореВрд▓ рд╕рд░рдгреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреА рд╣реИрдВред
slice
рд╡рд┐рдзрд┐ рдФрд░ рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░ рдЙрдерд▓реА рдкреНрд░рддрд┐рдпрд╛рдВ рдмрдирд╛рддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рд╕рдмрд░реЗрдЬрд╝ рдореЗрдВ рд╕рдорд╛рди рд▓рд┐рдВрдХ рд╣реЛрдВрдЧреЗ - рдпрд╣ рднреА рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИред- рдкреБрд░рд╛рдиреЗ рддрд░реАрдХреЗ рдЬреЛ рд╕рд░рдгреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдирдП рдХреЗ рд╕рд╛рде рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рддрдп рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред
рдЕрдм рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдкрдХреЛ
рдпрд╣ рд▓реЗрдЦ рдкрд╕рдВрдж рдЖрдпрд╛ рд╣реИ, рддреЛ "рдкреИрдЯ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ (50 рдмрд╛рд░ рддрдХ, рдпрджрд┐ рдЖрдк :-) рдЪрд╛рд╣рддреЗ рд╣реИрдВ) рдФрд░ рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЕрдкрдиреЗ рдЫрд╛рдкреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ!