ΠœΠ°ΡΡΠΈΠ²Ρ‹ js: ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ массивов

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

массивы ΠΈ Ρ†ΠΈΠΊΠ»Ρ‹ / Π₯Π°Π±Ρ€

БСгодня, Π² пятой части ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° курса ΠΏΠΎ JavaScript, ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ массивах ΠΈ Ρ†ΠΈΠΊΠ»Π°Ρ…. ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ мноТСства Π·Π°Π΄Π°Ρ‡. Часто с массивами Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ†ΠΈΠΊΠ»Ρ‹.

β†’ Π§Π°ΡΡ‚ΡŒ 1: пСрвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, особСнности языка, стандарты
β†’ Π§Π°ΡΡ‚ΡŒ 2: ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠΎΠ΄Π° ΠΈ структура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ
β†’ Π§Π°ΡΡ‚ΡŒ 3: ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, выраТСния, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹
β†’ Π§Π°ΡΡ‚ΡŒ 4: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
β†’ Π§Π°ΡΡ‚ΡŒ 5: массивы ΠΈ Ρ†ΠΈΠΊΠ»Ρ‹
β†’ Π§Π°ΡΡ‚ΡŒ 6: ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ρ‚ΠΎΡ‡ΠΊΠ° с запятой, ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹
β†’ Π§Π°ΡΡ‚ΡŒ 7: строгий Ρ€Π΅ΠΆΠΈΠΌ, ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово this, события, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, матСматичСскиС вычислСния
β†’ Π§Π°ΡΡ‚ΡŒ 8: ΠΎΠ±Π·ΠΎΡ€ возмоТностСй стандарта ES6
β†’ Π§Π°ΡΡ‚ΡŒ 9: ΠΎΠ±Π·ΠΎΡ€ возмоТностСй стандартов ES7, ES8 ΠΈ ES9



ΠœΠ°ΡΡΠΈΠ²Ρ‹

ΠœΠ°ΡΡΠΈΠ²Ρ‹, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ° Array, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ вмСстС с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ языка. Они ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой списки ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт массива ΠΈΠΌΠ΅Π΅Ρ‚ индСкс (ΠΊΠ»ΡŽΡ‡) 0, Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках программирования.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ рассмотрим соврСмСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами.

β–Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ массивов

Π’ΠΎΡ‚ нСсколько способов ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ массивов.

const a = []
const a = [1, 2, 3]
const a = Array.of(1, 2, 3)
const a = Array(6).fill(1) //инициализация ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива, состоящСго ΠΈΠ· 6 элСмСнтов, числом 1
Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ элСмСнту массива, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТится индСкс элСмСнта массива. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массивов ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ.

const a = [1, 2, 3]
console.log(a) //[ 1, 2, 3 ]
const first = a[0]
console.log(first) //1
a[0] = 4
console.log(a) //[ 4, 2, 3 ]
ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Array для объявлСния массивов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ рСкомСндуСтся.

const a = new Array() //Π½Π΅ рСкомСндуСтся
const a = new Array(1, 2, 3) //Π½Π΅ рСкомСндуСтся
Π­Ρ‚ΠΎΡ‚ способ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ лишь ΠΏΡ€ΠΈ объявлСнии Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… массивов.

β–ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ массива

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ массива, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π΅Π³ΠΎ свойству length.

const l = a.length

β–ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° массива с использованиСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π° every()

ΠœΠ΅Ρ‚ΠΎΠ΄ массивов every() ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ всСх ΠΈΡ… элСмСнтов с использованиСм Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ условия. Если всС элСмСнты массива ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ, функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ true, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ false.

Π­Ρ‚ΠΎΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ пСрСдаётся функция, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ currentValue (Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт массива), index (индСкс Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта массива) ΠΈ array (сам массив). Он ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ Π² качСствС this ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΉ Π΅ΠΌΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
НапримСр, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‚ Π»ΠΈ значСния всСх элСмСнтов массива число 10.

const a = [11, 12, 13]
const b = [5, 6, 25]
const test = el => el > 10
console.log(a.every(test)) //true
console.log(b.every(test)) //false
Π—Π΄Π΅ΡΡŒ нас, Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ test(), интСрСсуСт лишь ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ Π΅ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, поэтому ΠΌΡ‹ объявляСм Π΅Ρ‘, указывая лишь ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ el, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

β–ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° массива с использованиСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π° some()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ every(), Π½ΠΎ ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, Ссли хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· элСмСнтов массива удовлСтворяСт ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ, Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΉ Π΅ΠΌΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ.

▍БозданиС массива Π½Π° основС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ массива с использованиСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π° map()

ΠœΠ΅Ρ‚ΠΎΠ΄ массивов map() позволяСт ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ массивы, примСняя ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΡ… элСмСнту, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΡƒΡŽ этому ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΡƒΡŽ элСмСнт, ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ· ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½ΠΎΠ²Ρ‹Π΅ массивы. Π’ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ массив, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ умноТСния всСх элСмСнтов исходного массива Π½Π° 2.

const a = [1, 2, 3]
const double = el => el * 2
const doubleA = a.map(double)
console.log(a) //[ 1, 2, 3 ]
console.log(doubleA) //[ 2, 4, 6 ]

β–Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ массива с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° filter()

ΠœΠ΅Ρ‚ΠΎΠ΄ filter() ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ map(), Π½ΠΎ ΠΎΠ½ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ массивы, содСрТащиС лишь Ρ‚Π΅ элСмСнты исходных массивов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ filter() Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ.

β–ΠœΠ΅Ρ‚ΠΎΠ΄ reduce()

ΠœΠ΅Ρ‚ΠΎΠ΄ reduce() позволяСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊ аккумулятору ΠΈ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ массива, свСдя массив ΠΊ СдинствСнному Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ (это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ, Ρ‚Π°ΠΊ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ прСобразования, ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ аккумулятора. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

const a = [1, 2, 3, 4].reduce((accumulator, currentValue, currentIndex, array) => {
 Β return accumulator * currentValue
}, 1)
console.log(a) //24
//итСрация 1: 1 * 1 = 1
//итСрация 2: 1 * 2 = 2
//итСрация 3: 2 * 3 = 6
//итСрация 4: 6 * 4 = 24
Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ всСх элСмСнтов массива, описанного с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°, задавая Π² качСствС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния аккумулятора 1.

β–ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ массива с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° forEach()

ΠœΠ΅Ρ‚ΠΎΠ΄ массивов forEach() ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ массивов ΠΈ для выполнСния Π½Π°Π΄ Π½ΠΈΠΌΠΈ Π½Π΅ΠΊΠΈΡ… дСйствий, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ. НапримСр, Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ, элСмСнты массива Π² консоль.

const a = [1, 2, 3]
a.forEach(el => console.log(el))
//1
//2
//3
Если ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π΅ массива Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ», Ρ‚ΠΎ ΠΏΡ€ΠΈ использовании forEach() придётся Π²Ρ‹Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ссли Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΠ΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π°, Π»ΡƒΡ‡ΡˆΠ΅ всСго Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ способ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов массива.

β–ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ массива с использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° for…of

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ for...of появился Π² стандартС ES6. Он позволяСт ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (Π² Ρ‚ΠΎΠΌ числС β€” массивы). Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

const a = [1, 2, 3]
for (let v of a) {
 Β console.log(v)
}
//1
//2
//3
На ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ v ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ элСмСнт массива a.

β–ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ массива с использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° for

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ for позволяСт ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π² частности, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° (ΠΈΠ»ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ) массивов, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ ΠΈΡ… элСмСнтам ΠΏΠΎ индСксам. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ индСкс ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ элСмСнта ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ счётчиком Ρ†ΠΈΠΊΠ»Π°.

const a = [1, 2, 3]
for (let i = 0; i < a.length; i += 1) {
 Β console.log(a[i])
}
//1
//2
//3
Если, Π² Ρ…ΠΎΠ΄Π΅ выполнСния Ρ†ΠΈΠΊΠ»Π°, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
continue
. Для досрочного Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ break. Если Π² Ρ†ΠΈΠΊΠ»Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, располоТСнном Π² Π½Π΅ΠΊΠΎΠ΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ return, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ, Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Ρ‘Π½Π½ΠΎΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ return Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚ Ρ‚ΡƒΠ΄Π°, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π±Ρ‹Π»Π° Π²Ρ‹Π·Π²Π°Π½Π° функция.

β–ΠœΠ΅Ρ‚ΠΎΠ΄ @@iterator

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ появился Π² стандартС ES6. Он позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Β«ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Β» β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС позволяСт ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ элСмСнтов массива. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ массива ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, воспользовавшись символом (Ρ‚Π°ΠΊΠΈΠ΅ символы Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ «извСстными символами») Symbol.iterator. ПослС получСния ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ next(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π΅Π³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ структуру Π΄Π°Π½Π½Ρ‹Ρ…, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ элСмСнт массива.

const a = [1, 2, 3]
let it = a[Symbol.iterator]()
console.log(it.next().value) //1
console.log(it.next().value) //2
console.log(it.next().value) //3
Если Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ next() послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ достигнут послСдний элСмСнт массива, ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚, Π² качСствС значСния элСмСнта, undefined. ΠžΠ±ΡŠΠ΅ΠΊΡ‚, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ next(), содСрТит свойства value ΠΈ done. Бвойство done ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ достигнут послСдний элСмСнт массива. Π’ нашСм случаС, Ссли Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ it.next() Π² Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚Ρ‹ΠΉ Ρ€Π°Π·, ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ { value: undefined, done: true }, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Ρ‚Ρ€Ρ‘Ρ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²Π°Ρ… этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠΌΠ΅Π» Π²ΠΈΠ΄ { value: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, done: false }.

ΠœΠ΅Ρ‚ΠΎΠ΄ массивов entries() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ массива.

const a = [1, 2, 3]
let it = a.entries()
console.log(it.
next().value) //[0, 1] console.log(it.next().value) //[1, 2] console.log(it.next().value) //[2, 3]
ΠœΠ΅Ρ‚ΠΎΠ΄ keys() позволяСт ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ массива.

const a = [1, 2, 3]
let it = a.keys()
console.log(it.next().value) //0
console.log(it.next().value) //1
console.log(it.next().value) //2

▍ДобавлСниС элСмСнтов Π² ΠΊΠΎΠ½Π΅Ρ† массива

Для добавлСния элСмСнтов Π² ΠΊΠΎΠ½Π΅Ρ† массива ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ push().

a.push(4)

▍ДобавлСниС элСмСнтов Π² Π½Π°Ρ‡Π°Π»ΠΎ массива

Для добавлСния элСмСнтов Π² Π½Π°Ρ‡Π°Π»ΠΎ массива ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ unshift().

a.unshift(0)
a.unshift(-2, -1)

▍УдалСниС элСмСнтов массива

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт ΠΈΠ· ΠΊΠΎΠ½Ρ†Π° массива, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΠ² этот элСмСнт, ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° pop().

a.pop()
Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° shift(), ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт ΠΈΠ· Π½Π°Ρ‡Π°Π»Π° массива.

a.shift()
Π’ΠΎ ΠΆΠ΅ самоС, Π½ΠΎ ΡƒΠΆΠ΅ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ удалСния элСмСнтов ΠΈ ΠΈΡ… количСства, дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°
splice()
.

a.splice(0, 2) // удаляСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 2 элСмСнта ΠΈΠ· Π½Π°Ρ‡Π°Π»Π° массива
a.splice(3, 2) // удаляСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 2 элСмСнта, начиная с индСкса 3

▍УдалСниС элСмСнтов массива ΠΈ вставка вмСсто Π½ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹, воспользовавшись ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΈΠ΅ элСмСнты массива ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ вмСсто Π½ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ Π²Π°ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ splice().

НапримСр, здСсь ΠΌΡ‹ удаляСм 3 элСмСнта массива начиная с индСкса 2, послС Ρ‡Π΅Π³ΠΎ Π² Ρ‚ΠΎ ΠΆΠ΅ мСсто добавляСм Π΄Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнта:

const a = [1, 2, 3, 4, 5, 6]
a.splice(2, 3, 'a', 'b')
console.log(a) //[ 1, 2, 'a', 'b', 6 ]

β–ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… массивов

Для объСдинСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… массивов ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ concat(), Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΌ Π½ΠΎΠ²Ρ‹ΠΉ массив.

const a = [1, 2]
const b = [3, 4]
const c = a.concat(b)
console.log(c) //[ 1, 2, 3, 4 ]

β–ΠŸΠΎΠΈΡΠΊ элСмСнтов Π² массивС

Π’ стандартС ES5 появился ΠΌΠ΅Ρ‚ΠΎΠ΄
indexOf()
, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния искомого элСмСнта массива. Если элСмСнт Π² массивС Π½Π°ΠΉΡ‚ΠΈ Π½Π΅ удаётся β€” возвращаСтся -1.

const a = [1, 2, 3, 4, 5, 6, 7, 5, 8]
console.log(a.indexOf(5)) //4
console.log(a.indexOf(23)) //-1
ΠœΠ΅Ρ‚ΠΎΠ΄ lastIndexOf() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс послСднСго вхоТдСния элСмСнта Π² массив, ΠΈΠ»ΠΈ, Ссли элСмСнт Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, -1.

const a = [1, 2, 3, 4, 5, 6, 7, 5, 8]
console.log(a.lastIndexOf(5)) //7
console.log(a.lastIndexOf(23)) //-1
Π’ ES6 появился ΠΌΠ΅Ρ‚ΠΎΠ΄ массивов find(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт поиск ΠΏΠΎ массиву с использованиСм ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π΅ΠΌΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Если функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта. Если элСмСнт Π½Π°ΠΉΡ‚ΠΈ Π½Π΅ удаётся, функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ undefined.

Π’Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π΅Π³ΠΎ использованиС ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

a.find(x => x.id === my_id)
Π—Π΄Π΅ΡΡŒ Π² массивС, содСрТащСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, осущСствляСтся поиск элСмСнта, свойство id ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ равняСтся Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ.

ΠœΠ΅Ρ‚ΠΎΠ΄ findIndex() ΠΏΠΎΡ…ΠΎΠΆ Π½Π° find(), Π½ΠΎ ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта ΠΈΠ»ΠΈ undefined.

Π’ ES7 появился ΠΌΠ΅Ρ‚ΠΎΠ΄ includes(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ элСмСнта Π² массивС. Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true ΠΈΠ»ΠΈ false, найдя ΠΈΠ»ΠΈ Π½Π΅ найдя ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΉ программиста элСмСнт.

a.includes(value)
Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ элСмСнта Π½Π΅ вСсь массив, Π° лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΅Π³ΠΎ Ρ‡Π°ΡΡ‚ΡŒ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΡƒΡŽΡΡ с Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° индСкса. ИндСкс задаётся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ, Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

a.includes(value, i)

β–ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° массива

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ копию Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° массива Π² Π²ΠΈΠ΄Π΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ массива, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ slice(). Если этот ΠΌΠ΅Ρ‚ΠΎΠ΄ вызываСтся Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Ρ‘Π½Π½Ρ‹ΠΉ массив окаТСтся ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ исходного. Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π·Π°Π΄Π°Ρ‘Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°, Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ. Если ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ индСкс Π½Π΅ Π·Π°Π΄Π°Π½, Ρ‚ΠΎ массив копируСтся ΠΎΡ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ индСкса Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°.

const a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(a.slice(4)) //[ 5, 6, 7, 8, 9 ]
console.log(a.slice(3,7)) //[ 4, 5, 6, 7 ]

▍Бортировка массива

Для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ сортировки элСмСнтов массива Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС (0-9A-Za-z) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ sort() Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΅ΠΌΡƒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

const a = [1, 2, 3, 10, 11]
a.sort()
console.log(a) //[ 1, 10, 11, 2, 3 ]
const b = [1, 'a', 'Z', 3, 2, 11]
b.sort()
console.log(b) //[ 1, 11, 2, 3, 'Z', 'a' ]
Π­Ρ‚ΠΎΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π·Π°Π΄Π°ΡŽΡ‰ΡƒΡŽ порядок сортировки. Ѐункция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚, для сравнСния Π΄Π²ΡƒΡ… элСмСнтов, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ a ΠΈ b. Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число Π² Ρ‚ΠΎΠΌ случаС, Ссли a мСньшС b ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ, 0 β€” Ссли ΠΎΠ½ΠΈ Ρ€Π°Π²Π½Ρ‹, ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число β€” Ссли a большС b. ΠŸΡ€ΠΈ написании ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для сортировки числовых массивов ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычитания a ΠΈ b. Π’Π°ΠΊ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° вычислСния выраТСния a - b ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ сортировку массива ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° вычислСния выраТСния b - a даст сортировку массива ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ.

const a = [1, 10, 3, 2, 11]
console.log(a.sort((a, b) => a - b)) //[ 1, 2, 3, 10, 11 ]
console.log(a.sort((a, b) => b - a)) //[ 11, 10, 3, 2, 1 ]
Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ порядок слСдования элСмСнтов массива ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ reverse(). Он, Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ sort(), ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ массив для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ вызываСтся.

β–ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ строкового прСдставлСния массива

Для получСния строкового прСдставлСния массива ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ toString().

a.toString()
ΠŸΠΎΡ…ΠΎΠΆΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΄Π°Ρ‘Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ join(), Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹ΠΉ Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

a.join()
Π•ΠΌΡƒ, Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ элСмСнтов.

const a = [1, 10, 3, 2, 11]
console.log(a.toString()) //1,10,3,2,11
console. log(a.join()) //1,10,3,2,11
console.log(a.join(', ')) //1, 10, 3, 2, 11

▍БозданиС ΠΊΠΎΠΏΠΈΠΉ массивов

Для создания ΠΊΠΎΠΏΠΈΠΈ массива ΠΏΡƒΡ‚Ρ‘ΠΌ копирования Π² Π½ΠΎΠ²Ρ‹ΠΉ массив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ исходного массива ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Array.from(). Он ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈ для создания массивов ΠΈΠ· массивоподобных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (ΠΈΠ· строк, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€).

const a = 'a string'
const b = Array.from(a)
console.log(b) //[ 'a', ' ', 's', 't', 'r', 'i', 'n', 'g' ]
ΠœΠ΅Ρ‚ΠΎΠ΄ Array.of() Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для копирования массивов, Π° Ρ‚Π°ΠΊΠΆΠ΅ для «сборки» массивов ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… элСмСнтов. НапримСр, для копирования элСмСнтов ΠΎΠ΄Π½ΠΎΠ³ΠΎ массива Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ конструкциСй.

const a = [1, 10, 3, 2, 11]
const b = Array.of(...a)
console.log(b) // [ 1, 10, 3, 2, 11 ]
Для копирования элСмСнтов массива Π² Π½Π΅ΠΊΠΎΠ΅ мСсто самого этого массива ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ copyWithin(). Π•Π³ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π·Π°Π΄Π°Ρ‘Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ источника элСмСнтов, Π° Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ индСкс ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ источника элСмСнтов. Если Π΅Π³ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ мСсто массива Π±ΡƒΠ΄Π΅Ρ‚ скопировано всё, начиная ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ индСкса ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ источника Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° массива.

const a = [1, 2, 3, 4, 5]
a.copyWithin(0, 2)
console.log(a) //[ 3, 4, 5, 4, 5 ]

Π¦ΠΈΠΊΠ»Ρ‹

Π’Ρ‹ΡˆΠ΅, говоря ΠΎ массивах, ΠΌΡ‹ ΡƒΠΆΠ΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ способами ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ². Однако Ρ†ΠΈΠΊΠ»Ρ‹ Π² JavaScript ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами, Π΄Π° ΠΈ рассмотрСли ΠΌΡ‹ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС ΠΈΡ… Π²ΠΈΠ΄Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ сСйчас ΠΌΡ‹ ΡƒΠ΄Π΅Π»ΠΈΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ Ρ€Π°Π·Π½Ρ‹Ρ… способов ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² JavaScript ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± ΠΈΡ… особСнностях.

▍Цикл for

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ примСнСния этого Ρ†ΠΈΠΊΠ»Π°.

const list = ['a', 'b', 'c']
for (let i = 0; i < list.length; i++) {
 Β console.log(list[i]) //значСния, хранящиСся Π² элСмСнтах Ρ†ΠΈΠΊΠ»ΠΎΠ²
 Β console.log(i) //индСксы
}
Как ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано, ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ break, Π° ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ сразу ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ continue.

▍Цикл forEach

Π­Ρ‚ΠΎΡ‚ Ρ†ΠΈΠΊΠ» ΠΌΡ‹ Ρ‚ΠΎΠΆΠ΅ обсуТдали. ΠŸΡ€ΠΈΠ²Π΅Π΄Ρ‘ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° массива с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ.

const list = ['a', 'b', 'c']
list.forEach((item, index) => {
 Β console.log(item) //Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
  console.log(index) //индСкс
})
//Ссли индСксы элСмСнтов нас Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΈ Π±Π΅Π· Π½ΠΈΡ…
list.forEach(item => console.log(item))
Напомним, Ρ‡Ρ‚ΠΎ для прСрывания Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π½Π°Π΄ΠΎ Π²Ρ‹Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Ссли ΠΏΡ€ΠΈ использовании Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, Π»ΡƒΡ‡ΡˆΠ΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ†ΠΈΠΊΠ».

▍Цикл do…while

Π­Ρ‚ΠΎ β€” Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Β«Ρ†ΠΈΠΊΠ» с постусловиСм». Π’Π°ΠΊΠΎΠΉ Ρ†ΠΈΠΊΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π΄ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ условия Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π°.

const list = ['a', 'b', 'c']
let i = 0
do {
 Β console.log(list[i]) //Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
  console.log(i) //индСкс
 Β i = i + 1
} while (i < list.length)
Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒ с использованиСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ break, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ continue.

▍Цикл while

Π­Ρ‚ΠΎ β€” Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Β«Ρ†ΠΈΠΊΠ» с прСдусловиСм». Если, Π½Π° Π²Ρ…ΠΎΠ΄Π΅ Π² Ρ†ΠΈΠΊΠ», условиС продолТСния Ρ†ΠΈΠΊΠ»Π° Π»ΠΎΠΆΠ½ΠΎ, ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π°.

const list = ['a', 'b', 'c']
let i = 0
while (i < list.length) {
 Β console.log(list[i]) //Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
  console.log(i) //индСкс
 Β i = i + 1
}

▍Цикл for…in

Π­Ρ‚ΠΎΡ‚ Ρ†ΠΈΠΊΠ» позволяСт ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ всС пСрСчислимыС свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ ΠΈΡ… ΠΈΠΌΠ΅Π½Π°ΠΌ.

let object = {a: 1, b: 2, c: 'three'}
for (let property in object) {
 Β console.log(property) //имя свойства
 Β console.log(object[property]) //Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства
}

▍Цикл for…of

Π¦ΠΈΠΊΠ» for...of совмСщаСт Π² сСбС удобство Ρ†ΠΈΠΊΠ»Π° forEach ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΌΠΈ срСдствами.

//ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
for (const value of ['a', 'b', 'c']) {
 Β console.log(value) //Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
}
//ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ индСксов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ `entries()`
for (const [index, value] of ['a', 'b', 'c'].entries()) {
  console. log(index) //индСкс
 Β console.log(value) //Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
}
ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ здСсь, Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ†ΠΈΠΊΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово const, Π° Π½Π΅, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, let. Если Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ° Ρ†ΠΈΠΊΠ»Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‚ΠΎ const Π½Π°ΠΌ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.
Если ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹ for...in ΠΈ for...of, Ρ‚ΠΎ окаТСтся, Ρ‡Ρ‚ΠΎ for...in ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π° свойств, Π° for...of β€” значСния свойств.

Π¦ΠΈΠΊΠ»Ρ‹ ΠΈ области видимости

Π‘ Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ ΠΈ с областями видимости ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… связана ΠΎΠ΄Π½Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ JavaScript, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ с этими ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ†ΠΈΠΊΠ»Π°Ρ…, ΠΎΠ± областях видимости, ΠΈ ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… словах var ΠΈ let.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

const operations = []
for (var i = 0; i < 5; i++) {
 Β operations.push(() => {
 Β Β Β console.log(i)
 Β })
}
for (const operation of operations) {
 Β operation()
}
Π’ Ρ†ΠΈΠΊΠ»Π΅ производится 5 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² массив operations добавляСтся новая функция. Π­Ρ‚Π° функция Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π² консоль Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счётчика Ρ†ΠΈΠΊΠ»Π° β€” i. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² массив, ΠΌΡ‹ этот массив ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π΅Π³ΠΎ элСмСнтами.

Выполняя ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅.

0
1
2
3
4
Но Π½Π° самом Π΄Π΅Π»Π΅ ΠΎΠ½ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.

5
5
5
5
5
ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Ρ‚Π°ΠΊ? Всё Π΄Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² качСствС счётчика Ρ†ΠΈΠΊΠ»Π° ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½ΡƒΡŽ с использованиСм ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова var.

Π’Π°ΠΊ ΠΊΠ°ΠΊ объявлСния ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π² Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ Ρ‡Π°ΡΡ‚ΡŒ области видимости, Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ.

var i;
const operations = []
for (i = 0; i < 5; i++) {
 Β operations.push(() => {
 Β Β Β console.log(i)
 Β })
}
for (const operation of operations) {
 Β operation()
}
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ оказываСтся, Ρ‡Ρ‚ΠΎ Π² Ρ†ΠΈΠΊΠ»Π΅ for...of, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ массив, пСрСмСнная i всё Π΅Ρ‰Ρ‘ Π²ΠΈΠ΄Π½Π°, ΠΎΠ½Π° Ρ€Π°Π²Π½Π° 5, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, ΡΡΡ‹Π»Π°ΡΡΡŒ Π½Π° i Π²ΠΎ всСх функциях, ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ число 5.

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π΄Π΅Π»Π°Π»Π° Π±Ρ‹ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ Π½Π΅Ρ‘ оТидаСтся?

Π‘Π°ΠΌΠΎΠ΅ простоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² использовании ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова let. Оно, ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, появилось Π² ES6, Π΅Π³ΠΎ использованиС позволяСт ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… странностСй, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Ρ… для var.

Π’ частности, Π² Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ достаточно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ var Π½Π° let ΠΈ всё Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ.

const operations = []
for (let i = 0; i < 5; i++) {
 Β operations.push(() => {
 Β Β Β console.log(i)
 Β })
}
for (const operation of operations) {
 Β operation()
}
Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° каТдая функция, добавлСнная Π² массив operations, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ копию i. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΉ ситуации нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово const, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ i Π² Ρ†ΠΈΠΊΠ»Π΅ мСняСтся.

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ способ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто примСнялся Π΄ΠΎ появлСния стандарта ES6, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова let Π΅Ρ‰Ρ‘ Π½Π΅ Π±Ρ‹Π»ΠΎ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² использовании IIFE.

ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ i сохраняСтся Π² Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠΈ, Π° Π² массив ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ функция, возвращаСмая IIFE ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ доступ ΠΊ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΡŽ. Π­Ρ‚Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π² Π½Π΅ΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит.

const operations = []
for (var i = 0; i < 5; i++) {
 Β operations.push(((j) => {
 Β Β Β return () => console.log(j)
 Β })(i))
}
for (const operation of operations) {
 Β operation()
}

Π˜Ρ‚ΠΎΠ³ΠΈ

БСгодня ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ массивах ΠΈ ΠΎ Ρ†ΠΈΠΊΠ»Π°Ρ… Π² JavaScript. Π’Π΅ΠΌΠ° нашСго ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° β€” ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, особСнности использования Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! Какими ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами Π² JavaScript Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ Ρ‡Π°Ρ‰Π΅ всСго?

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΈΒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Β JavaScript ΠΊΠ°ΠΊ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΒ Π³Π°Π·Π΅Ρ‚Ρ‹ β€”Β ΠΆΡƒΡ€Π½Π°Π» Β«Π”ΠΎΠΊΡ‚Π°ΠΉΠΏΒ»

Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ КСвина КононСнко Β«JavaScript Arrays and Objects Are Just LikeΒ».

Если Π²Ρ‹Β Ρ‡ΠΈΡ‚Π°Π»ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΒ Π³Π°Π·Π΅Ρ‚Ρ‹, Ρ‚ΠΎΒ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠΉΠΌΡ‘Ρ‚Π΅ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ и массивами Π²Β JavaScript.

Π’Β Π½Π°Ρ‡Π°Π»Π΅ изучСния JavaScript ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒΡΡ в способах хранСния Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Β ΠΎΠ΄Π½ΠΎΠΉ стороны, массивы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°ΠΊΠΎΠΌΡ‹ Π²Π°ΠΌ благодаря Ρ†ΠΈΠΊΠ»ΡƒΒ for. Но, ΠΏΠΎΒ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹Β Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ массив Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ всё ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ.

Π’Ρ‹Π±ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ и массивом станСт ΠΏΡ€ΠΎΡ‰Π΅, Ссли ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сСбС Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° Ρ‚Π°Β ΠΈΠ»ΠΈ иная структура. ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ ΠΊΠ½ΠΈΠ³Π°ΠΌ, Π²Β ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТится Ρ‚Π°Β ΠΈΠ»ΠΈ иная информация, Π°Β ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π°Β Π³Π°Π·Π΅Ρ‚Ρƒ.

РазбСрёмся с этим.

ΠœΠ°ΡΡΠΈΠ²Ρ‹: порядок Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ΅Π½

ВзглянСм Π½Π°Β Π½Π°ΡˆΡƒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, Ссли бы ΠΎΠ½Π° Π±Ρ‹Π»Π° массивом:

var book = [`foreword`, `boyWhoLived`, `vanishingGlass`, `lettersFromNoOne`, `afterword`];

ΠšΡΡ‚Π°Ρ‚ΠΈ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅Β β€” это ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‚Ρ€ΠΈ Π³Π»Π°Π²Ρ‹ ΠΊΠ½ΠΈΠ³ΠΈ Β«Π“Π°Ρ€Ρ€ΠΈ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€ и философский камСнь». Π˜Β Π²ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ ΠΈΡ…:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массивы Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

НадСюсь, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΡ‚ΠΎ нС глядит Π½Π°Β ΠΎΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΒ Π½Π΅Β Π΄ΡƒΠΌΠ°Π΅Ρ‚: Β«Π₯ΠΌ, эта Π³Π»Π°Π²Π° выглядит интСрСсной, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ Π½Π°Ρ‡Π½Ρƒ с нСё». ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ Π³Π»Π°Π² Π²Β ΠΊΠ½ΠΈΠ³Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π΅Ρ‘Β Π½ΡƒΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ.

Когда Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ массив, Ρ‚ΠΎΒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½ΠΎΠΌΠ΅Ρ€ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива. ΠœΠ°ΡΡΠΈΠ²Ρ‹Β β€” это структуры Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π΄Π΅ нумСрация начинаСтся с нуля, поэтому ΠΌΡ‹Β Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ Π²Β Π½ΠΈΡ… отсчёт с 0, Π°Β Π½Π΅Β 1.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, Ссли Π²Ρ‹Β Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊΒ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ элСмСнту массива, Ρ‚ΠΎΒ ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‚Π°ΠΊ:

book[0]

Π˜Β Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅:

`foreword`

Если Π½ΡƒΠΆΠ½Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΡ Π³Π»Π°Π²Π°, Ρ‚ΠΎΒ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‚Π°ΠΊ:

book[2]

Π’Ρ‹Β Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ на порядкС Π³Π»Π°Π² Π²Β ΠΊΠ½ΠΈΠ³Π΅, а нС по названию этих Π³Π»Π°Π².

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹: Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΒ Π±Ρ‹ выглядСла Π³Π°Π·Π΅Ρ‚Π° Π²Β Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

var newspaper = {
 sports: `ARod Hits Home Run`,
 business: `GE Stock Dips Again`,
 movies: `Superman Is A Flop`
}

А вот Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ Π΅Ρ‘:

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹Β β€” Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ Ссли Π²Ρ‹Β Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ по названию Π΄Π°Π½Π½Ρ‹Ρ….

Читая Π³Π°Π·Π΅Ρ‚Ρƒ, мы нС обязаны Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‘Β Β«ΠΎΡ‚Β ΠΊΠΎΡ€ΠΊΠΈ Π΄ΠΎΒ ΠΊΠΎΡ€ΠΊΠΈΒ». МоТно Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ с любого интСрСсного для вас Ρ€Π°Π·Π΄Π΅Π»Π°. НСваТно, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ этот Ρ€Π°Π·Π΄Π΅Π» находится Π²Β Π³Π°Π·Π΅Ρ‚Π΅, контСкст сохраняСтся. Π­Ρ‚ΠΎ ΠΈΒ ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ Π³Π°Π·Π΅Ρ‚Ρƒ ΠΎΡ‚Β ΠΊΠ½ΠΈΠ³ΠΈ, Π³Π΄Π΅ Π²Π°ΠΆΠ½Π° строгая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чтСния Π³Π»Π°Π².

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ хранят ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π²Β Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит:

key: value

Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π³Π°Π·Π΅Ρ‚Ρƒ с новостСй бизнСса, Ρ‚ΠΎΒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ слСдуСт Ρ‚Π°ΠΊΠΎΠΉΒ ΠΊΠ»ΡŽΡ‡:

newspaper[`business`]

Или Ρ‚Π°ΠΊΠΎΠΉ:

newspaper.business
Π­Ρ‚ΠΎ Π²Π΅Ρ€Π½Ρ‘Ρ‚ Π½Π°ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:
GE Stock Dips Again
ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊΠΎΠ³Π΄Π° Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π½Π° основании ΠΈΡ… ΠΈΠΌΡ‘Π½ (ΠΊΠ»ΡŽΡ‡Π°), Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ эти Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ОбъСдиняСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ и массивы

Π’Β ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π²Ρ‹ΡˆΠ΅ Π²Β Π½Π°ΡˆΠΈΡ… массивах ΠΈΒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… ΠΌΡ‹Β Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки. Но моТно Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ структуры Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ числа ΠΈΠ»ΠΈ Π±ΡƒΠ»Π΅Π²Ρ‹ значСния, Π°Β Ρ‚Π°ΠΊΠΆΠ΅:

  1. ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
  2. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ массивов.
  3. ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ массивов.
  4. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π­Ρ‚ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ слоТным. Но вам всСгда Π½ΡƒΠΆΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ комбинация ΠΈΠ·Β Π΄Π²ΡƒΡ… Ρ‚ΠΈΠΏΠΎΠ² для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹Β ΠΆΠ΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π²Β ΠΊΠΎΠ΄Π΅ спустя врСмя, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Β Π½Ρ‘ΠΌ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ?

Π”Π°Π²Π°ΠΉΡ‚Π΅ снова Π²ΠΎΠ·ΡŒΠΌΡ‘ΠΌ ΠΊΠ½ΠΈΠ³Ρƒ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π§Ρ‚ΠΎ Ссли ΠΌΡ‹Β Ρ…ΠΎΡ‚ΠΈΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ и количСство страниц Π²Β ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π»Π°Π²Π΅? Π’Β Ρ‚Π°ΠΊΠΎΠΌ случаС стоит Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ наш массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ:

var book = [
 [`foreword`, 14],
 [`boywholived`, 18]
]
var book = [
 {name:`foreword`, pageCount: 14},
 {name:`boyWhoLived`, pageCount: 18},
 {name:`vanishingGlass`, pageCount: 13},
 {name:`lettersFromNoOne`, pageCount: 17},
 {name:`afterword`, pageCount: 19}
];

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, мы сохранили порядок Π³Π»Π°Π² ΠΈΒ Π²Β Ρ‚ΠΎΒ ΠΆΠ΅ врСмя Ρ€Π°Π·Π½Ρ‹Π΅ свойства для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π»Π°Π²Ρ‹. НапримСр, Ссли Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ сколько страниц Π²ΠΎΒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π³Π»Π°Π²Π΅, Ρ‚ΠΎΒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ:

book[1][`pageCount`]

Π’Β Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹Β ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²Β ΠΊΠ½ΠΈΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ 18 страниц.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ прСдставим, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠΏ-писатСлСй для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ новостСй Π²Β Π³Π°Π·Π΅Ρ‚Π΅. МоТно быстро ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ массива Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

var newspaper = {
 sports: `ARod Hits Home Run`,
 sportsWriters: [`Miramon Nuevo`, `Rick Reilly`, `Woddy Paige`],
 business: `GE Stock Dips Again`,
 businessWriters: [`Adam Smith`, `Albert Humphrey`, `Charles Handy`],
 movies: `Superman Is A Flop`,
 moviesWriters: [`Rogert Ebert`, `Andrew Sarris`, `Wesley Morris`]
}

Массив ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΒ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π΅ писатСлСй, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ в массивС порядок ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’Ρ‹Β Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ старыС Π°Π²Ρ‚ΠΎΡ€Ρ‹ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π²Ρ‹ΡˆΠ΅, Ρ‡Π΅ΠΌ Π½ΠΎΠ²Ρ‹Π΅ и это Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ массива. ΠŸΠΈΡΠ°Ρ‚Π΅Π»ΡŒ с номСром 0Β Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠΏ-писатСлСм.

МоТно ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, просто создав ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ нашСго ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Β newspaper. НапримСр, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Β sports с заголовком и списком писатСлСй. ΠΠΎΒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ я хочу, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вы сами ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ.


Β«Π”ΠΎΠΊΡ‚Π°ΠΉΠΏΒ» β€”Β ΠΆΡƒΡ€Π½Π°Π» ΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π΅. Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅, ΡΠ»ΡƒΡˆΠ°ΠΉΡ‚Π΅ ΠΈ ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ.

Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠŸΠΎΠ΄ΠΊΠ°ΡΡ‚Π‘Π΅ΡΠΏΠ»Π°Ρ‚Π½Ρ‹Π΅ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠΈ

13 Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с массивами JavaScript | Π”ΠΆΠΎΠ½Π°Ρ‚Π°Π½ Π€ΠΈΠ»Π΄ΠΈΠ½Π³

13 Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с массивами JavaScript | Π”ΠΆΠΎΠ½Π°Ρ‚Π°Π½ Π€ΠΈΠ»Π΄ΠΈΠ½Π³ | JavaScript Π½Π° простом Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ

Много Ρ€Π°Π·Π½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ с массивами, с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ 05

Β·

19 октября 2020 Π³.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ β€” это Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ JavaScript, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, рСгулярно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΈ управляСм.

ЦСль этой ΡΡ‚Π°Ρ‚ΡŒΠΈ β€” ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ всС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ с массивами, начиная с простых ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈ быстро пСрСходя ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΠΎΠ»Π΅Π΅ слоТным Π²Π΅Ρ‰Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ. Если Π²Ρ‹ ΡƒΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с массивами, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ сСрСдинС ΡΡ‚Π°Ρ‚ΡŒΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΠΎΠ»Π΅Π΅ слоТных Π²Π΅Ρ‰Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт Π² массив с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ array.push() , это Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† массива.

Если вмСсто этого Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт Π² Π½Π°Ρ‡Π°Π»ΠΎ массива, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ array.unshift() .

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт ΠΈΠ· массива, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ array.pop() , это ΡƒΠ΄Π°Π»ΠΈΡ‚ послСдний элСмСнт.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт ΠΈΠ· массива, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ array.shift() .

Написано Π”ΠΆΠΎΠ½Π°Ρ‚Π°Π½ΠΎΠΌ Π€ΠΈΠ»Π΄ΠΈΠ½Π³ΠΎΠΌ

971 ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ

Β·ΠŸΠΈΡΠ°Ρ‚Π΅Π»ΡŒ для

Π¨Ρ‚Π°Ρ‚Π½Ρ‹ΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π² @Spendesk, спикСр ΠΎ Π²Π΅Π±-Π²Π΅Ρ‰Π°Ρ…, ΠΏΠΈΡˆΡƒΡ‰ΠΈΠΉ ΠΎ тСхнологиях, Π²ΠΊΠ»Π°Π΄Ρ‡ΠΈΠΊ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄. Если Π²Π°ΠΌ нравится Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я ΠΏΠΈΡˆΡƒ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡˆΠΈΡ‚Π΅ΡΡŒ.

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΎΡ‚ Π”ΠΆΠΎΠ½Π°Ρ‚Π°Π½Π° Π€ΠΈΠ»Π΄ΠΈΠ½Π³Π° ΠΈ JavaScript Π½Π° простом английском

Π”ΠΆΠΎΠ½Π°Ρ‚Π°Π½ Π€ΠΈΠ»Π΄ΠΈΠ½Π³

5 аксСссуаров Mac для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

БСгодня я дСлюсь 5 аксСссуарами для ΠΌΠΎΠ΅Π³ΠΎ Mac, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ мою Ρ€Π°Π±ΠΎΡ‚Ρƒ

Β·5 ΠΌΠΈΠ½ΡƒΡ‚ чтСния·27 ΠΌΠ°Ρ€Ρ‚Π°

Π–Π΅Π½Ρ‰ΠΈΠ½Π°

Π²

Π‘ΠΎΠ²Π΅Ρ‚ тСхничСского Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€Π° с 20-Π»Π΅Ρ‚Π½ΠΈΠΌ стаТСм «НС Π±ΡƒΠ΄ΡŒ скромным Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌΒ»

I Π΄ΡƒΠΌΠ°ΡŽ 90% Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² стали ΠΆΠ΅Ρ€Ρ‚Π²Π°ΠΌΠΈ своСй скромности!!

Β·4 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ чтСния·12 июня

Π–Π΅Π½Ρ‰ΠΈΠ½Π°

Π²

Π“Π΅Π½Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€: Β«11 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΡƒΠ²ΠΎΠ»ΠΈΠ»ΠΈΡΡŒ Π·Π° дСнь ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΠ»ΠΈ мСня»

Π­Ρ‚ΠΎ спорная Ρ‚Π΅ΠΌΠ°, ΠΈ я Π½Π΅ Π²Ρ‹Π±Π΅Ρ€Ρƒ сторону. Но Π΄Π°ΠΉΡ‚Π΅ ΠΌΠ½Π΅ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅

Β·5 ΠΌΠΈΠ½ΡƒΡ‚ чтСния·4 июля

Π”ΠΆΠΎΠ½Π°Ρ‚Π°Π½ Π€ΠΈΠ»Π΄ΠΈΠ½Π³

Настройка ΠΌΠΎΠ΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Dev Mac ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π·Π° час

срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π·Π° час

Β·3 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ чтСния·14 ΠΌΠ°Ρ€Ρ‚Π°

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС ΠΎΡ‚ Π”ΠΆΠΎΠ½Π°Ρ‚Π°Π½Π° Π€ΠΈΠ»Π΄ΠΈΠ½Π³Π°

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ Medium

Thomas Smith

Π²

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€

Google Новая Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ функция Bard мСняСт ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈΠ³Ρ€Ρ‹.

Π‘Ρ…Π΅ΠΌΠ° проСктирования систСмы: ПолноС руководство

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ΠΈ эффСктивной систСмы ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСпростой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒβ€¦

Β·9 ΠΌΠΈΠ½ΡƒΡ‚ чтСния·20 апрСля

Бписки

ΠžΠ±Ρ‰ΠΈΠ΅ знания Π² области кодирования

20 историй·88 сохранСний

Никогда Π½Π΅ ΠΏΠΎΠ·Π΄Π½ΠΎ ΠΈ Π½Π΅ Ρ€Π°Π½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ

9 0004 13 историй·32 сохранСния

Π˜ΡΡ‚ΠΎΡ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ расти ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

19 историй·185 сохранСний

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

11 историй·55 сохранСний

Π”ΠΆΠ΅ΠΉΠΊΠΎΠ± Π‘Π΅Π½Π½Π΅Ρ‚

Π²

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²Ρ‹ΡˆΠ΅

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Git ΠΊΠ°ΠΊ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€

Git β€” ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ чувствуСт Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Β·4 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ чтСния·15 ноября 2022 Π³.

Razvan L

in

Dev Genius

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉΡ‚Π΅ свой собствСнный ΠΏΠ°ΠΊΠ΅Ρ‚ NPM Π·Π° 2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π·Π° 2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ собствСнный ΠΏΠ°ΠΊΠ΅Ρ‚ npm Π² общСдоступном рССстрС npm.

Β·3 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ чтСния·14 фСвраля

Π―Ρ€ΠΈ Π ΡƒΠΌΠ΅Ρ€

Π²

Better Humans

Как я избавился ΠΎΡ‚ прокрастинации (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Π²Ρ€ΠΎΠ»ΠΎΠ³ΠΈΠΈ)

Π”Π΅Ρ€ΠΆΠΈΡ‚Π΅ эту Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠΎΠ·Π³Π° Π² ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΊΡ€Π°ΡΡ‚ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Β· 6 ΠΌΠΈΠ½. Π§ΠΈΡ‚Π°Ρ‚ΡŒ Β· 22 июня

Vitalii Shevchuk

Π²

Itnext

πŸ”₯ Typescript: 20 Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ качСства ΠΊΠΎΠ΄Π°

ДостигнитС мастСрства Π² машинописи с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ руководства ΠΈΠ· 20 шагов, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Ρ‚ вас ΠΎΡ‚ ΠΏΠ°Π΄Π°Π²Π°Π½Π° Π΄ΠΎ Оби-Π’Π°Π½Π°.

Β·14 ΠΌΠΈΠ½ΡƒΡ‚ чтСния·20 января

Π‘ΠΌ. Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ

Бтатус

ΠŸΠΈΡΠ°Ρ‚Π΅Π»ΠΈ

ΠšΠ°Ρ€ΡŒΠ΅Ρ€Π°

ΠšΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста Π² Ρ€Π΅Ρ‡ΡŒ

90 000 Как ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивами Π² JS | by FAM Как ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивами Π² JS | ΠΏΠΎ ЀАМ | Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ Π²Ρ‹ΡˆΠ΅ CodingOpen Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ

12 ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для массива Π² JS

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ Π²

Β·

Π§Ρ‚Π΅Π½ΠΈΠ΅: 7 ΠΌΠΈΠ½.

Β·

4 мая 2021 г.

10 ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со строками Π² JS

medium.com

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ! ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠΌΠΈ Π² своих повсСднСвных Π·Π°Π΄Π°Ρ‡Π°Ρ…. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠΈ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Π°ΡˆΡƒ Тизнь ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ вас нСвСроятно ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ!

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ для выполнСния Π²Π°ΡˆΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π² качСствС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ даст Π²Π°ΠΌ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, насколько ΠΌΠΎΡ‰Π½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Π“ΠΎΡ‚ΠΎΠ²? Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ!

ΠœΠ΅Ρ‚ΠΎΠ΄ slice() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π΅Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ копию части массива Π² Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ массива, Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΈΠ· start Π΄ΠΎ end . Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с ΠΈ ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ индСкс элСмСнтов Π² этом массивС. НС Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡ‚Π΅ΡΡŒ ΠΎΠ± исходном массивС. Π­Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ.

Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

Бинтаксис:

 slice() 
slice(start)
slice(start, end)
By FAM

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² JS Array , собранных с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ map() . ΠœΠ΅Ρ‚ΠΎΠ΄ filter() создаСт Π½ΠΎΠ²Ρ‹ΠΉ массив со всСми элСмСнтами, ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡƒΡŽ 9Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° 0025 .

Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

Написано FAM

2K подписчиков

Β·ΠŸΠΈΡΠ°Ρ‚Π΅Π»ΡŒ для

Π£Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€-программист ΠΈ Angular GDE. Π― люблю ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ, ΠΏΠΎΠΌΠΎΠ³Π°Ρ‚ΡŒ ΠΈ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ❀. Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎΠ±ΠΎ ΠΌΠ½Π΅ здСсь: πŸ”— www.fatimaamzil.com.

Π•Ρ‰Π΅ ΠΎΡ‚ FAM ΠΈ Level Up Coding

Π²

Angular становится всС Π²Ρ‹ΡˆΠ΅ ΠΈ Π²Ρ‹ΡˆΠ΅ πŸš€β€¦ Он Π² ΠΎΠ³Π½Π΅ πŸ”₯

Angular становится всС сильнСС ΠΈ сильнСС!

Β·4 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ чтСния·16 июня

Π”ΠΆΡƒΠ»ΠΈ ΠŸΠ΅Ρ€ΠΈΠ»Π»Π° Гарсия

Π²

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ Π²Π΅Π»ΠΈΠΊΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡβ€Šβ€”β€Š Π’Π°ΠΌ Π½ΡƒΠΆΠ½Π° систСма

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½.

Β·7 ΠΌΠΈΠ½ чтСния·23 июня

Jacob Bennett

in

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Git ΠΊΠ°ΠΊ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

Β·4 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ чтСния·15 ноября 2022 Π³.

Π²

Π’Π΅ΠΌΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π² React

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π΅ΠΌΠ½ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ Π² React JS?

Β·4 ΠΌΠΈΠ½. чтСния·11 ΠΎΠΊΡ‚. 2021 Π³.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС Π½Π° FAM

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ Π½Π° Medium

Π’ΠΈΡ‚Π°Π»ΠΈΠΉ Π¨Π΅Π²Ρ‡ΡƒΠΊ

Π²

ITNEXT

90 004

πŸ”₯ ОсвоСниС TypeScript: 20 Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ качСства ΠΊΠΎΠ΄Π°

ДостигнитС мастСрства Π² машинописи с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ руководства ΠΈΠ· 20 шагов, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Ρ‚ вас ΠΎΡ‚ ΠΏΠ°Π΄Π°Π²Π°Π½Π° Π΄ΠΎ Оби-Π’Π°Π½Π°.

Β·14 ΠΌΠΈΠ½ΡƒΡ‚ чтСния·20 января

FullStackTips

20 вопросов для собСсСдования ΠΏΠΎ Javascript с ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ.

Π― ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΡΠ΅Ρ€ΠΈΡŽ вопросов для ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ ΠΏΠΎ JavaScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ младшСго ΠΈ срСднСго уровня.

Β·6 ΠΌΠΈΠ½ чтСния·31 янв. экономит

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

11 историй·55 сохранСний

Никогда Π½Π΅ ΠΏΠΎΠ·Π΄Π½ΠΎ ΠΈ Π½Π΅ Ρ€Π°Π½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ

13 историй·32 сохранСния

Π”ΠΆΠ΅ΠΉΠΊΠΎΠ± Π‘Π΅Π½Π½Π΅Ρ‚Ρ‚

Π²

ИспользованиС Git ΠΊΠ°ΠΊ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€

Git β€” это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ приятно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Β·4 ΠΌΠΈΠ½ чтСния Β· 15 ноября 2022 Π³.

Al — @naucode

Π²

JavaScript Π½Π° простом английском

ΠŸΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ вашС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ ΠΏΠΎ JavaScript с этими 7 распространСнными вопросами ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ πŸ’»

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΡŽ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнныС вопросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Ρƒ вас Π²ΠΎ врСмя собСсСдования ΠΏΠΎ JavaScript, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡŽ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ и…

Β·4 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ чтСния·25 января

ΠœΠ°Ρ€ΠΈΡ Π›Π°Ρ€Π°ΠΌΠΈ

Π²

Frontend Weekly 9 0005

5 ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² JavaScript для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² πŸš€

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ€Π°ΡΠΊΡ€ΠΎΡŽ 5 ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивный ΠΈ элСгантный ΠΊΠΎΠ΄. Π­Ρ‚ΠΈ Ρ‚Ρ€ΡŽΠΊΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎβ€¦

Β·3 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ чтСния·25 января

Π”Π½Π΅Π²Π½ΠΈΠΊΠΈ кодирования

Π²

Π”Π½Π΅Π²Π½ΠΈΠΊΠΈ кодирования

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ программисты тСрпят Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ Π½Π° собСсСдованиях ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ

9000 4

Один ΠΌΠΎΠΉ Π΄Ρ€ΡƒΠ³ Π½Π΅Π΄Π°Π²Π½ΠΎ присоСдинился ΠΊ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ FAANG Π² качСствС ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΈ оказался Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π°ΠΉΠΌΠ° для…

Β·5 ΠΌΠΈΠ½ΡƒΡ‚ чтСния·2 ноября 2022 Π³.
ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *