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

ΠœΠ°ΡΡΠΈΠ²Ρ‹ | JavaScript Camp

Для хранСния πŸ“¦ упорядочСнных ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ сущСствуСт особая структура Π΄Π°Π½Π½Ρ‹Ρ…, которая называСтся массив Array.

Массив — упорядочСнная коллСкция Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ 1-ΠΉ, 2-ΠΉ, 3-ΠΉ элСмСнты ΠΈ Ρ‚.Π΄. НапримСр, ΠΎΠ½Π° понадобится Π½Π°ΠΌ для хранСния πŸ“¦ списка Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ: ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ², элСмСнтов сайта ΠΈ Ρ‚.Π΄.

ВидСо​

БозданиС​

БущСствуСт Π΄Π²Π° 2️⃣ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° для ΡΠΎΠ·Π΄Π°Π½ΠΈΡπŸ—οΈ пустого массива:

let arr = new Array(5)
// new Array(5) - создаёт массив Π±Π΅Π· элСмСнтов (ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ просто Ρ‚Π°ΠΊ нСльзя обратится), Π½ΠΎ с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ.
let arr = []

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 2️⃣ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡΠ°πŸ“–. Π’ скобках ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния элСмСнтов:

function learnJavaScript() { let fruits = [‘Π―Π±Π»ΠΎΠΊΠΎ’, ‘АпСльсин’, ‘Π‘Π»ΠΈΠ²Π°’] return fruits.toString() }

Loading…

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ, начиная с нуля 0️⃣ .

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнт, ΡƒΠΊΠ°Π·Π°Π² Π΅Π³ΠΎ Π½ΠΎΠΌΠ΅Ρ€ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках πŸ‘‡ :

function learnJavaScript() { let fruits = [‘Π―Π±Π»ΠΎΠΊΠΎ’, ‘АпСльсин’, ‘Π‘Π»ΠΈΠ²Π°’] return fruits[0] }

Loading…

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ πŸ–ŠοΈ элСмСнт:

fruits[2] = 'Π“Ρ€ΡƒΡˆΠ°' // Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ["Π―Π±Π»ΠΎΠΊΠΎ", "АпСльсин", "Π“Ρ€ΡƒΡˆΠ°"]

β€¦Π˜Π»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ πŸ†• Π½ΠΎΠ²Ρ‹ΠΉ ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ массиву πŸ‘‡ :

function learnJavaScript() { let fruits = [‘Π―Π±Π»ΠΎΠΊΠΎ ‘, ‘АпСльсин ‘, ‘Π‘Π»ΠΈΠ²Π° ‘] fruits[2] = ‘Π“Ρ€ΡƒΡˆΠ° ‘ fruits[3] = ‘Π›ΠΈΠΌΠΎΠ½ ‘ // Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ [«Π―Π±Π»ΠΎΠΊΠΎ», «ΠΠΏΠ΅Π»ΡŒΡΠΈΠ½», «Π“Ρ€ΡƒΡˆΠ°», «Π›ΠΈΠΌΠΎΠ½»] return fruits }

Loading. ..

length​

ΠžΠ±Ρ‰Π΅Π΅ число элСмСнтов массива содСрТится Π² Π΅Π³ΠΎ свойствС .length:

function learnJavaScript() { let fruits = [‘Π―Π±Π»ΠΎΠΊΠΎ’, ‘АпСльсин’, ‘Π‘Π»ΠΈΠ²Π°’] return fruits.length }

Loading…

Бвойство length автоматичСски обновляСтся ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ массива. Если Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ, это Π½Π΅ количСство элСмСнтов массива, Π° наибольший Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ индСкс плюс ΠΎΠ΄ΠΈΠ½.

НапримСр, СдинствСнный Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ большой индСкс, Π΄Π°Ρ‘Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ массиву πŸ‘‡ :

function learnJavaScript() { let fruits = [] fruits[155] = ‘Π―Π±Π»ΠΎΠΊΠΎ’ return fruits.length // 156 }

Loading. ..

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ массивы Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ интСрСсный Ρ„Π°ΠΊΡ‚ ΠΎ свойствС length – Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ.

Если ΠΌΡ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ βž• Π΅Π³ΠΎ, Π½ΠΈΡ‡Π΅Π³ΠΎ интСрСсного Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚. Π—Π°Ρ‚ΠΎ, Ссли ΠΌΡ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠΌβž– Π΅Π³ΠΎ, массив станСт ΠΊΠΎΡ€ΠΎΡ‡Π΅. Π­Ρ‚ΠΎΡ‚ процСсс Π½Π΅ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° πŸ‘‡ :

function learnJavaScript() { let arr = [1, 2, 3, 4, 5] arr.length = 2 // ΡƒΠΊΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ Π΄ΠΎ Π΄Π²ΡƒΡ… элСмСнтов //console.log( arr ) // [1, 2] arr.length = 5 // Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ length ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ //console.log( arr[3] ) // undefined: значСния Π½Π΅ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡŒ! return ‘Π Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ массив укоротился:’ + arr }

Loading. ..

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, самый простой способ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ массив – это arr.length = 0 .

Π’ΠΈΠΏΡ‹ элСмСнтов​

Π’ массивС ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ πŸ“¦ элСмСнты любого Ρ‚ΠΈΠΏΠ° — число, Π±ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, строки, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ»ΠΈ Ρ†Π΅Π»Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈβš™οΈ:

НапримСр πŸ‘‡ :

function learnJavaScript() { let arr = [ ‘Π―Π±Π»ΠΎΠΊΠΎ’, { name: ‘Никита’ }, true, function () { return ‘ΠŸΡ€ΠΈΠ²Π΅Ρ‚’ } ] // ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнт с индСксом 1 {ΠΎΠ±ΡŠΠ΅ΠΊΡ‚} ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ свойство let x = arr[1].name // имя Никита // ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнт с индСксом 3 (функция) ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Ρ‘ let result1 = arr[3] // Π‘Π°ΠΌΠ° функция let result2 = arr[3]() // ‘ΠŸΡ€ΠΈΠ²Π΅Ρ‚’ return ‘Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 4-Π³ΠΎ элСмСнта с 3-ΠΌ индСксом: ‘ + result2 // + ‘. Π‘Π°ΠΌΠ° функция: ‘ + result1 }

Loading…

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ result1 = arr[3] ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ΡŒ тСкст πŸ“œ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈβš™οΈ, Π° result2 = arr[3]() Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈβš™οΈ — () ΠΌΡ‹ Π΅Ρ‘ запускаСм.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

push/pop​

Π‘Ρ‚Π΅ΠΊ — Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ примСнСния массивов ΠΊΠ°ΠΊ структуры Π΄Π°Π½Π½Ρ‹Ρ….

Она ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° 2️⃣ Π²ΠΈΠ΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:

  • push добавляСт βž• элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ†.

  • pop удаляСт βž– послСдний элСмСнт.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½ΠΎΠ²Ρ‹Π΅ элСмСнты всСгда Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ ΠΈΠ· «ΠΊΠΎΠ½Ρ†Π°».

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ стСка ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ слуТит ΠΏΠΈΡ€Π°ΠΌΠΈΠ΄ΠΊΠ°: Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ»ΡŒΡ†Π° кладутся Π½Π°Π²Π΅Ρ€Ρ… ΠΈ бСрутся Ρ‚ΠΎΠΆΠ΅ свСрху.

ΠžΡ‡Π΅Ρ€Π΅Π΄ΡŒ – ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых распространённых Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² примСнСния массива. Π’ области ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ…πŸ–₯️ Π½Π°ΡƒΠΊ Ρ‚Π°ΠΊ называСтся упорядочСнная коллСкция элСмСнтов

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ½Ρ†ΠΎΠΌ массива:​

push​

ДобавляСт βž• элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† массива πŸ‘‡ :

function learnJavaScript() { let fruits = [‘ Π―Π±Π»ΠΎΠΊΠΎ’, ‘ АпСльсин’] fruits.push(‘ Π“Ρ€ΡƒΡˆΠ°’) return ‘Массив: ‘ + fruits // Π―Π±Π»ΠΎΠΊΠΎ, АпСльсин, Π“Ρ€ΡƒΡˆΠ° }

Loading…

pop​

УдаляСт βž– послСдний элСмСнт ΠΈΠ· массива ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ πŸ‘‡ :

function learnJavaScript() { let fruits = [‘ Π―Π±Π»ΠΎΠΊΠΎ’, ‘ АпСльсин’, ‘ Π“Ρ€ΡƒΡˆΠ°’] let delFruits = fruits.pop() // удаляСм «Π“Ρ€ΡƒΡˆΠ°» ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π΅Π³ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ delFruits return ‘Π£Π΄Π°Π»Π΅Π½ элСмСнт = ‘ + delFruits + ‘. ΠžΡΡ‚Π°Π»ΡΡ массив: ‘ + fruits // Π―Π±Π»ΠΎΠΊΠΎ, АпСльсин }

Loading…

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π°Ρ‡Π°Π»ΠΎΠΌ массива:​

shift​

УдаляСт βž– ΠΈΠ· массива ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚πŸ”„ Π΅Π³ΠΎ:

function learnJavaScript() { let fruits = [‘Π―Π±Π»ΠΎΠΊΠΎ ‘, ‘АпСльсин ‘, ‘Π“Ρ€ΡƒΡˆΠ° ‘] fruits.shift() // удаляСм Π―Π±Π»ΠΎΠΊΠΎ return fruits }

Loading…

unshift​

ДобавляСт βž• элСмСнт Π² Π½Π°Ρ‡Π°Π»ΠΎ массива:

function learnJavaScript() { let fruits = [‘Π―Π±Π»ΠΎΠΊΠΎ ‘, ‘АпСльсин ‘, ‘Π“Ρ€ΡƒΡˆΠ° ‘] fruits.unshift(‘Абрикос ‘) return fruits }

Loading…

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ push ΠΈ unshift ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ βž• сразу нСсколько элСмСнтов πŸ‘‡ :

function learnJavaScript() { let fruits = [‘Π―Π±Π»ΠΎΠΊΠΎ’] fruits.push(‘АпСльсин’, ‘Π“Ρ€ΡƒΡˆΠ°’) fruits.unshift(‘Ананас’, ‘Π›ΠΈΠΌΠΎΠ½’) return ‘Π’ массивС ‘ + fruits.length + ‘ элСмСнтов. ‘ + ‘ Массив: ‘ + fruits // [«ΠΠ½Π°Π½Π°Ρ», «Π›ΠΈΠΌΠΎΠ½», «Π―Π±Π»ΠΎΠΊΠΎ», «ΠΠΏΠ΅Π»ΡŒΡΠΈΠ½», «Π“Ρ€ΡƒΡˆΠ°»] }

Loading…

Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство массива​

Массив – это особый ΠΏΠΎΠ΄Π²ΠΈΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ свойству

arr[0] – это ΠΏΠΎ сути ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡπŸ“– доступа ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ, ΠΊΠ°ΠΊ obj[key], Π³Π΄Π΅ Π² Ρ€ΠΎΠ»ΠΈ obj Ρƒ нас arr, Π° Π² качСствС ΠΊΠ»ΡŽΡ‡Π° – числовой индСкс.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с упорядочСнными коллСкциями Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ свойство length. Но Π² основС всё Ρ€Π°Π²Π½ΠΎ Π»Π΅ΠΆΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² JavaScript массив являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π²Π΅Π΄Ρ‘Ρ‚ сСбя ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

НапримСр, массив копируСтся ΠΏΠΎ ссылкС πŸ‘‡ :

function learnJavaScript() { let fruits = [‘ Π›ΠΈΠΌΠΎΠ½’] let copy = fruits // копируСтся ΠΏΠΎ ссылкС (Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ массив) copy.push(‘ Π“Ρ€ΡƒΡˆΠ°’) // массивы ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎ ссылкС ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ return ‘1 массив: ‘ + fruits + ‘ 2 массив: ‘ + copy // Π›ΠΈΠΌΠΎΠ½, Π“Ρ€ΡƒΡˆΠ° — Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π²Π° элСмСнта }

Loading. ..

Π§Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ массивы особСнными – это ΠΈΡ… Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ прСдставлСниС. Π”Π²ΠΈΠΆΠΎΠΊ JavaScript стараСтся Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ элСмСнты массива Π² Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ области памяти, ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ способы ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, благодаря ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ массивы Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ быстро.

Но всС ΠΎΠ½ΠΈ утратят ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, Ссли ΠΌΡ‹ пСрСстанСм Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивом ΠΊΠ°ΠΊ с «ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ…» ΠΈ Π½Π°Ρ‡Π½Ρ‘ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

НапримСр, тСхничСски ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

let fruits = [] // создаём пустой массив

fruits[99999] = 5 // создаём свойство с ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ индСксом, Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ массива

fruits.age = 25 // создаём свойство с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ

Π­Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² основС массива Π»Π΅ΠΆΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅ΠΌΡƒ Π»ΡŽΠ±Ρ‹Π΅ свойства.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ примСнСния массива!
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ нСчислового свойства (индСкса test), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: arr.test = 5
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Β«Π΄Ρ‹Ρ€Β», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ arr[0], Π·Π°Ρ‚Π΅ΠΌ arr[1000] (ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅Ρ‚)
  • Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ массива Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: arr[1000], arr[999] ΠΈ Ρ‚. Π΄.

Массив слСдуСт ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ особой структурой, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с упорядочСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ, Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ {}.

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒβ€‹

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ push/pop Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ быстро, Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ shift/unshift – ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΠ½Ρ†ΠΎΠΌ массива быстрСС, Ρ‡Π΅ΠΌ с Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΠΎΠΌ? Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, Ρ‡Ρ‚ΠΎ происходит Π²ΠΎ врСмя выполнСния:

fruits.shift() // удаляСм ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт с Π½Π°Ρ‡Π°Π»Π°

ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²Π·ΡΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 0 нСдостаточно. НуТно Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ shift Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ 3 дСйствия:

  • Π£Π΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт с индСксом 0

  • Π‘Π΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ всС элСмСнты Π²Π»Π΅Π²ΠΎ, Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…, Π·Π°ΠΌΠ΅Π½ΠΈΠ² 1 Π½Π° 0, 2 Π½Π° 1 ΠΈ Ρ‚.Π΄.

  • ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ свойство length

Π§Π΅ΠΌ большС элСмСнтов содСрТит массив, Ρ‚Π΅ΠΌ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ потрСбуСтся для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ, большС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ.

А Ρ‡Ρ‚ΠΎ ΠΆΠ΅ с ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ pop? Π•ΠΌΡƒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт Π² ΠΊΠΎΠ½Ρ†Π΅ массива, ΠΌΠ΅Ρ‚ΠΎΠ΄ pop ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ индСкс ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ length. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ индСксами.

fruits.pop() // удаляСм ΠΎΠ΄ΠΈΠ½ элСмСнт с ΠΊΠΎΠ½Ρ†Π°

ΠœΠ΅Ρ‚ΠΎΠ΄ pop Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ пСрСмСщСния. ИмСнно поэтому ΠΎΠ½ выполняСтся ΠΎΡ‡Π΅Π½ΡŒ быстро.

Аналогично Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ push.

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ элСмСнтов​

Одним ΠΈΠ· самых старых способов ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов массива являСтся Ρ†ΠΈΠΊΠ» for( ) ΠΏΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ индСксам πŸ‘‡ :

// prettier-ignore function learnJavaScript() { let result = » let arr = [‘Π―Π±Π»ΠΎΠΊΠΎ’, ‘АпСльсин’, ‘Киви’] for (let i = 0; i < arr.length; i++) // ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ элСмСнтам Ρ‡Π΅Ρ€Π΅Π· for( ) result += arr[i] + ‘ ‘ return result // Π―Π±Π»ΠΎΠΊΠΎ, АпСльсин, Киви }

Loading…

Но для массивов Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ†ΠΈΠΊΠ»Π°, for..of πŸ‘‡ :

function learnJavaScript() { let result = » let fruits = [‘Π―Π±Π»ΠΎΠΊΠΎ’, ‘АпСльсин’, ‘Π‘Π»ΠΈΠ²Π°’] for (let fruit of fruits) { // ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ значСниям Ρ‡Π΅Ρ€Π΅Π· `for..of` result += fruit + ‘ ‘ } return result // Π―Π±Π»ΠΎΠΊΠΎ, АпСльсин, Π‘Π»ΠΈΠ²Π° }

Loading…

Π¦ΠΈΠΊΠ» for..of Π½Π΅ прСдоставляСт доступа ΠΊ Π½ΠΎΠΌΠ΅Ρ€Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, Π½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв этого Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ достаточно, Π° Ρ‚Π°ΠΊΠΆΠ΅ это ΠΊΠΎΡ€ΠΎΡ‡Π΅.

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы​

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ массивами. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΡΠΎΠ·Π΄Π°Π½ΠΈΡπŸ—οΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для хранСния πŸ“¦ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†:

function learnJavaScript() { let matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] return matrix[1][1] // 5, Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт }

Loading…

Π˜Ρ‚ΠΎΠ³ΠΎβ€‹

Массив – это особый Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с упорядочСнным Π½Π°Π±ΠΎΡ€ΠΎΠΌ элСмСнтов.

ΠžΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΠ΅πŸ—£οΈ:

// ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ)
let arr = [item1, item2...]

// new Array (ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅Π΄ΠΊΠΎ)
let arr = new Array(item1, item2...)

Π’Ρ‹Π·ΠΎΠ² new Array(number) ΡΠΎΠ·Π΄Π°Ρ‘Ρ‚πŸ—οΈ массив с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ, Π½ΠΎ Π±Π΅Π· элСмСнтов.

Бвойство length ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ массива.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массив ΠΊΠ°ΠΊ Π΄Π²ΡƒΡΡ‚ΠΎΡ€ΠΎΠ½Π½ΡŽΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

  • push(...items) добавляСт βž• items Π² ΠΊΠΎΠ½Π΅Ρ† массива.
  • pop() удаляСт βž–ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ Π² ΠΊΠΎΠ½Ρ†Π΅ массива ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ.
  • shift() удаляСт βž– элСмСнт Π² Π½Π°Ρ‡Π°Π»Π΅ массива ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ.
  • unshift(...items) добавляСт βž• items Π² Π½Π°Ρ‡Π°Π»ΠΎ массива.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ элСмСнты массива:

  • for (let i=0 i<arr.length i++) – Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС всСго, совмСстим со старыми Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ.
  • for (let item of arr) – соврСмСнный ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡπŸ“– Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтов (ΠΊ индСксам Π½Π΅Ρ‚ доступа).
  • for (let i in arr) – Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ для массивов!

React Native​

React Native прСдоставляСт Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для прСдставлСния списков Π΄Π°Π½Π½Ρ‹Ρ…. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ FlatList, Π»ΠΈΠ±ΠΎ SectionList. Π”Π΅Ρ‚Π°Π»ΡŒΠ½Π΅ΠΉ с Π½ΠΈΠΌΠΈ ΠΌΡ‹ познакомимся ΠΏΠΎΠ·ΠΆΠ΅, Π³Π»Π°Π²Π½ΠΎΠ΅ сСйчас Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ массив, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ Π½Π° экранС.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹?​

ΠŸΠΈΡˆΠΈΡ‚Π΅ Π² Discord ΠΈΠ»ΠΈ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ Ρ‡Π°Ρ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° наши новости

Вопросы​

Массив – это …

  1. Подвид ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с «ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ…»
  2. ВнутрСнная функция
  3. Подвид ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с «Π½Π΅ упорядочСнной ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ…»

ΠŸΡƒΡΡ‚ΠΎΠΉ массив создаСтся:

  1. let arr2 = { }
  2. let arr1 = [ ]
  3. let arr3 = ( )

Π”Π»ΠΈΠ½Ρƒ массива ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ свойством:

  1. pop
  2. push
  3. length

Π’ массивС ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ элСмСнты:

  1. Π›ΡŽΠ±ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°
  2. ЧисловыС
  3. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнта Π² ΠΊΠΎΠ½Ρ†Π΅ массива:

  1. push
  2. pop
  3. shift

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта Π² Π½Π°Ρ‡Π°Π»Π΅ массива:

  1. pop
  2. shift
  3. unshift

____ Π² массивС — это число, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ любого Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² массивС.

  1. индСкс
  2. Π΄Π»ΠΈΠ½Π°
  3. функция

КакоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слСдуСт ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт Π² массивС? \n myArray[]

  1. 0
  2. 1
  3. 2

ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° .pop() для массива Π±ΡƒΠ΄Π΅Ρ‚ ___ ΠΈ ___ послСдний элСмСнт массива.

  1. «ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ / Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ»
  2. «Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ / ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ»

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π½Π° сколько Π²Ρ‹ усвоили этот ΡƒΡ€ΠΎΠΊ, ΠΏΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ тСст Π² мобильном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ нашСй ΡˆΠΊΠΎΠ»Ρ‹ ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅ ΠΈΠ»ΠΈ Π² нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚Π΅.

Бсылки​

  1. Π‘Ρ‚Π°Ρ‚ΡŒΡ «ΠœΠ°ΡΡΠΈΠ²Ρ‹»
  2. MDN web doc. Π‘Ρ‚Π°Ρ‚ΡŒΡ «ΠœΠ°ΡΡΠΈΠ²Ρ‹»
  3. Π‘Ρ‚Π°Ρ‚ΡŒΡ «JavaScript массивы»
  4. Код для подростков: прСкрасноС руководство ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…, Ρ‚ΠΎΠΌ 1: Javascript — Jeremy Moritz

Contributors βœ¨β€‹

Thanks goes to these wonderful people (emoji key):


Dmitriy K.
πŸ“–

Dmitriy Vasilev
πŸ’΅

Resoner2005
πŸ› 🎨 πŸ–‹

Navernoss
πŸ–‹ πŸ› 🎨

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами (Array) Π½Π° JavaScript

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами Π½Π° JavaScript

  • ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами Π² JavaScript
  • ЭкзСмпляры массива Π² JavaScript

Массив (Array) это мноТСство ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ элСмСнтов, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… Π² Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΡƒ. ΠŸΡ€ΠΎΡΡ‚Ρ‹ΠΌΠΈ словами это упорядочный список ΠΈΠ· элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ имССю свой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ любая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° FrontEnd вСрсии сайта Π½Π΅ обходится Π±Π΅Π· массивов, поэтому Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивами Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ программист!


ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами Π² JavaScript

БозданиС массива Array


Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ Array


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


ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ созданиС массива Array


Доступ ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ массива ΠΏΠΎ индСксу (порядковому Π½ΠΎΠΌΠ΅Ρ€Ρƒ)


ΠžΠ±Ρ…ΠΎΠ΄ массива Π² JavaScript


Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнта массива Π² ΠΊΠΎΠ½Π΅Ρ†


Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ послСднСго элСмСнта массива


Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта массива


Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнта Π² Π½Π°Ρ‡Π°Π»ΠΎ массива


Поиск Π½ΠΎΠΌΠ΅Ρ€Π° элСмСнта Π² массивС


Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ индСксом


Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов, начиная с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ индСкса


БозданиС копии массива


ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ массива Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚


ЭкзСмпляры массива Π² JavaScript

ВсС экзСмпляры массива Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ Array. prototype ΠΈ Π»ΡŽΠ±Ρ‹Π΅ измСнСния Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° конструктора массива Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚ всС экзСмпляры Array.

Бвойства

Array.prototype.constructor ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Array.prototype.length ΠžΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ количСство элСмСнтов Π² массивС.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ измСнСния

Array.prototype.copyWithin() ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ элСмСнтов массива Π²Π½ΡƒΡ‚Ρ€ΠΈ массива.

Array.prototype.fill() ЗаполняСт всС элСмСнты массива ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ индСкса Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ индСкса ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

Array.prototype.pop() УдаляСт послСдний элСмСнт ΠΈΠ· массива ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ.

Array.prototype.push() ДобавляСт ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ элСмСнтов Π² ΠΊΠΎΠ½Π΅Ρ† массива ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ массива.

Array.prototype.reverse() ΠŸΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ порядок элСмСнтов Π² массивС β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт становится послСдним, Π° послСдний β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ.

Array.prototype.shift() УдаляСт ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт ΠΈΠ· массива ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ.

Array.prototype.sort() Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ элСмСнты массива Π½Π° мСстС ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ отсортированный массив.

Array.prototype.splice() ДобавляСт ΠΈ/ΠΈΠ»ΠΈ удаляСт элСмСнты ΠΈΠ· массива.

Array.prototype.unshift() ДобавляСт ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ элСмСнтов Π² Π½Π°Ρ‡Π°Π»ΠΎ массива ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ массива.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ доступа ΠΊ массиву

Array.prototype.concat() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ массив, состоящий ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива, соСдинённого с Π΄Ρ€ΡƒΠ³ΠΈΠΌ массивом ΠΈ/ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ (списком массивов/Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ).

Array.prototype.includes() ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, содСрТится Π»ΠΈ Π² массивС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ элСмСнт, возвращая, соотвСтствСнно, true ΠΈΠ»ΠΈ false.

Array.prototype.join() ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ всС элСмСнты массива Π² строку.

Array.prototype.slice() Π˜Π·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ массива.

Array.prototype.toSource() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ массива; Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ массива. ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Object.prototype.toSource().

Array.prototype.toString() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строковоС прСдставлСниС массива ΠΈ Π΅Π³ΠΎ элСмСнтов. ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Object. prototype.toString().

Array.prototype.toLocaleString() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ строковоС прСдставлСниС массива ΠΈ Π΅Π³ΠΎ элСмСнтов. ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Object.prototype.toLocaleString().

Array.prototype.indexOf() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ (наимСньший) индСкс элСмСнта Π²Π½ΡƒΡ‚Ρ€ΠΈ массива, Ρ€Π°Π²Π½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ; ΠΈΠ»ΠΈ -1, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ.

Array.prototype.lastIndexOf() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ послСдний (наибольший) индСкс элСмСнта Π²Π½ΡƒΡ‚Ρ€ΠΈ массива, Ρ€Π°Π²Π½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ; ΠΈΠ»ΠΈ -1, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±Ρ…ΠΎΠ΄Π° массива

Array.prototype.forEach() Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² массивС.

Array.prototype.entries() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° массива Array Iterator, содСрТащий ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡ / Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ индСкса Π² массивС.

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

Array.prototype.some() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, Ссли хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ элСмСнт Π² массивС удовлСтворяСт ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Array.prototype.filter() Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ массив со всСми элСмСнтами этого массива, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… функция Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true.

Array.prototype.find() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ искомоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² массивС, Ссли элСмСнт Π² массивС удовлСтворяСт ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ undefined, Ссли Ρ‚Π°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ.

Array.prototype.findIndex() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ искомый индСкс Π² массивС, Ссли элСмСнт Π² массивС удовлСтворяСт ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ -1, Ссли Ρ‚Π°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ.

Array.prototype.keys() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ массива, содСрТащий ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ индСкса Π² массивС.

Array.prototype.map() Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ массив с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ элСмСнтС Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива.

Array.prototype.reduce() ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊ аккумулятору ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ массива (слСва-Π½Π°ΠΏΡ€Π°Π²ΠΎ), сводя Π΅Π³ΠΎ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.

Array.prototype.reduceRight() ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊ аккумулятору ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ массива (справа-Π½Π°Π»Π΅Π²ΠΎ), сводя Π΅Π³ΠΎ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.

Array.prototype.values() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° массива Array Iterator, содСрТащий значСния для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ индСкса Π² массивС.

Array.prototype[@@iterator]() Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° массива Array Iterator, содСрТащий значСния для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ индСкса Π² массивС.

Помогла Π»ΠΈ Π²Π°ΠΌ ΡΡ‚Π°Ρ‚ΡŒΡ?

347 Ρ€Π°Π· ΡƒΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π»Π°

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ: (0)

15 ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами Π² JavaScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ Π² 2020 Π³ΠΎΠ΄Ρƒ / Π₯Π°Π±Ρ€

ΠŸΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° сайтС dev.to. Автор: Ibrahima Ndaw.
ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π» ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π² авторском Π±Π»ΠΎΠ³Π΅.

Массив Π² JavaScript β€” это особая структура Π΄Π°Π½Π½Ρ‹Ρ…, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… элСмСнтов. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнных Π² Π½Π΅Π΅ свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ, ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² соотвСтствии со своими потрСбностями. Π—Π½Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами Π² JavaScript ΠΏΠΎΠ΄Π½ΠΈΠΌΠ΅Ρ‚ ваши ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ Π² сфСрС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим 15 ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π±ΠΎΠ»Π΅Π΅ эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивами Π² JavaScript.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² основном ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая пСрСдаСтся Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°.

// Instead of using this way
myAwesomeArray.some(test => {
  if (test === "d") {
    return test
  }
})
// We'll use the shorter one
myAwesomeArray.some(test => test === "d")

1. some()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ провСряСт, удовлСтворяСт Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ элСмСнт массива ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ, Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Π² ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Он Π²Π΅Ρ€Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ элСмСнт совпадСт с провСряСмой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false β€” Ссли Π½Π΅Ρ‚.

const myAwesomeArray = ["a", "b", "c", "d", "e"]
myAwesomeArray.some(test => test === "d")
//-------> Output : true

2. reduce()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΠΈΠΌΠ΅Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° аккумулятор ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Он примСняСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊ аккумулятору ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ массива, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

const myAwesomeArray = [1, 2, 3, 4, 5]
myAwesomeArray.reduce((total, value) => total * value)
// 1 * 2 * 3 * 4 * 5
//-------> Output = 120

3. every()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ провСряСт, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ Π»ΠΈ всС элСмСнты массива ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ, Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Π² ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Он Π²Π΅Ρ€Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт совпадСт с провСряСмой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false β€” Ссли Π½Π΅Ρ‚.

const myAwesomeArray = ["a", "b", "c", "d", "e"]
myAwesomeArray.every(test => test === "d")
//-------> Output : false
const myAwesomeArray2 = ["a", "a", "a", "a", "a"]
myAwesomeArray2.every(test => test === "a")
//-------> Output : true

4. map()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΈ создаСт Π½ΠΎΠ²Ρ‹ΠΉ массив с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива. Он всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ количСство элСмСнтов.

const myAwesomeArray = [5, 4, 3, 2, 1]
myAwesomeArray.map(x => x * x)
//-------> Output : 25
//                  16
//                  9
//                  4
//                  1

5. flat()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° массив массивов ΠΈ сглаТиваСт Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ массивы Π² массив Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ уровня.

const myAwesomeArray = [[1, 2], [3, 4], 5]
myAwesomeArray.flat()
//-------> Output : [1, 2, 3, 4, 5]

6. filter()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ массив, содСрТащий всС элСмСнты массива, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ функция Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π»Π°ΡΡŒ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π΅ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ true.

const myAwesomeArray = [
  { id: 1, name: "john" },
  { id: 2, name: "Ali" },
  { id: 3, name: "Mass" },
  { id: 4, name: "Mass" },
]
myAwesomeArray. filter(element => element.name === "Mass")
//-------> Output : 0:{id: 3, name: "Mass"},
//                  1:{id: 4, name: "Mass"}

7. forEach()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ примСняСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту массива.

const myAwesomeArray = [
  { id: 1, name: "john" },
  { id: 2, name: "Ali" },
  { id: 3, name: "Mass" },
]
myAwesomeArray.forEach(element => console.log(element.name))
//-------> Output : john
//                  Ali
//                  Mass

8. findIndex()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΈ Π² дальнСйшСм примСняСт Π΅Π΅ ΠΊ массиву. Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта, Ссли элСмСнт удовлСтворяСт ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΉ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Если Π½Π΅ удовлСтворяСт, возвращаСтся –1.

const myAwesomeArray = [
  { id: 1, name: "john" },
  { id: 2, name: "Ali" },
  { id: 3, name: "Mass" },
]
myAwesomeArray.findIndex(element => element. id === 3)
//-------> Output : 2
myAwesomeArray.findIndex(element => element.id === 7)
//-------> Output : -1

9. find()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Π² дальнСйшСм примСняСт Π΅Π΅ ΠΊ массиву. Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта, Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Π² массивС, Ссли элСмСнт удовлСтворяСт ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½ΠΎ возвращаСтся со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ undefined.

const myAwesomeArray = [
  { id: 1, name: "john" },
  { id: 2, name: "Ali" },
  { id: 3, name: "Mass" },
]
myAwesomeArray.find(element => element.id === 3)
//-------> Output : {id: 3, name: "Mass"}
myAwesomeArray.find(element => element.id === 7)
//-------> Output : undefined

10. sort()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. Он сортируСт элСмСнты массива ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ….

const myAwesomeArray = [5, 4, 3, 2, 1]
// Sort from smallest to largest
myAwesomeArray. sort((a, b) => a - b)
//-------> Output : [1, 2, 3, 4, 5]
// Sort from largest to smallest
myAwesomeArray.sort((a, b) => b - a)
//-------> Output : [5, 4, 3, 2, 1]

11. concat()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π΄Π²Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ массива/значСния ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ массив.

const myAwesomeArray = [1, 2, 3, 4, 5]
const myAwesomeArray2 = [10, 20, 30, 40, 50]
myAwesomeArray.concat(myAwesomeArray2)
//-------> Output : [1, 2, 3, 4, 5, 10, 20, 30, 40, 50]

12. fill()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ заполняСт всС элСмСнты массива ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ индСкса (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 0) Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ индСкса (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ array.length).

const myAwesomeArray = [1, 2, 3, 4, 5]
// The first argument (0) is the value
// The second argument (1) is the starting index
// The third argument (3) is the ending index
myAwesomeArray.fill(0, 1, 3)
//-------> Output : [1, 0, 0, 4, 5]

13.

includes()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли массив содСрТит ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ элСмСнт, ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false β€” Ссли Π½Π΅Ρ‚.

const myAwesomeArray = [1, 2, 3, 4, 5]
myAwesomeArray.includes(3)
//-------> Output : true
myAwesomeArray.includes(8)
//-------> Output : false

14. reverse()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ мСняСт порядок слСдования элСмСнтов Π² массивС Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт становится послСдним, Π° послСдний β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ.

const myAwesomeArray = ["e", "d", "c", "b", "a"]
myAwesomeArray.reverse()
//-------> Output : ['a', 'b', 'c', 'd', 'e']

15. flatMap()

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ примСняСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту массива, Π° Π·Π°Ρ‚Π΅ΠΌ сглаТиваСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Π½ΠΎΠ²Ρ‹ΠΉ массив. Он ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ flat() ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ map() Π² ΠΎΠ΄Π½Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

const myAwesomeArray = [[1], [2], [3], [4], [5]]
myAwesomeArray. flatMap(arr => arr * 10)
//-------> Output : [10, 20, 30, 40, 50]
// With .flat() and .map()
myAwesomeArray.flat().map(arr => arr * 10)
//-------> Output : [10, 20, 30, 40, 50]

Π Π°Π±ΠΎΡ‚Π° с массивами Π² JavaScript – Π‘Π°Π·Π° Π·Π½Π°Π½ΠΈΠΉ Timeweb Community

Π’ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… статСй я Ρ€Π°Π·Π±ΠΈΡ€Π°Π»Β Ρ€Π°Π±ΠΎΡ‚Ρƒ строк Π² JavaScript. Но что Ссли Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ нСсколько нСзависимых строк Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ с сохранСниСм порядка? На ΠΏΠΎΠΌΠΎΡ‰ΡŒΒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΡΡ‚ массивы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² сСбС Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки, Π½ΠΎ ΠΈ элСмСнты Π»ΡŽΠ±Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ².

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² JavaScript ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой спископодобныС структуры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для хранСния упорядочСнных Π΄Π°Π½Π½Ρ‹Ρ…. МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ для хранСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк позволСно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Но Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅, Ссли ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ свой порядковый Π½ΠΎΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ.Β 

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² JavaScript настроСны Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Они эффСктивнСС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Π½ΠΈΠΌΠΈ ΠΊΠ°ΠΊ с упорядочСнными списками Π΄Π°Π½Π½Ρ‹Ρ…. Но Ссли ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массив ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‚ΠΎ ΠΎΠ½ ΡƒΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ свою ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π²ΠΈΠΆΠΎΠΊ JavaScript ΠΏΠΎΠΉΠΌΠ΅Ρ‚ это, ΠΈ способы ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для массивов Π±ΡƒΠ΄ΡƒΡ‚ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ массивы для хранСния ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… упорядочСнных Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠ»ΡŽΡ‡ΠΈ, Ρ‚ΠΎ Ρ‚ΡƒΡ‚ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΠ΄ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массивов Π² JavaScript ΠΈ основныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌΠΈ

Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим пустой массив Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ двумя способами:


let mas =  new Array()

ΠΈΠ»ΠΈ


let mas = []

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


let mas = [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€]

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ элСмСнты массива ΠΏΠΎ порядковому Π½ΠΎΠΌΠ΅Ρ€Ρƒ. Для этого Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя массива ΠΈ порядковый Π½ΠΎΠΌΠ΅Ρ€ элСмСнта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ вывСсти Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках (счСт порядка элСмСнтов ΠΈΠ΄Π΅Ρ‚ с 0, поэтому для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ 0, для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ 1 ΠΈ Ρ‚Π°ΠΊ далСС…). ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


let mas = [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€]
console.log(mas[0]) //Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ β€œΠΌΡ‹ΡˆΠΊΠ°β€
console.log(mas[1]) //Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€
console.log(mas[2]) //Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€

Массив ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² сСбС элСмСнты любого Ρ‚ΠΈΠΏΠ°. НапримСр:


let mas = [true, function() { console.log(mas) }, { arr: β€œΠ­Ρ‚ΠΎ элСмСнт массива” }]
console.log(mas[0]) //Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ true
mas[1] //Выполнится функция, Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ массив
console.log(mas[2].arr) //Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ β€œΠ­Ρ‚ΠΎ элСмСнт массива”

Но ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡŽΡΡŒ, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массивы для хранСния ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°ΠΊ ΠΊΠ°ΠΊ массивы ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² сСбС элСмСнты любого Ρ‚ΠΈΠΏΠ°, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΈ массивы Π² Π΄Ρ€ΡƒΠ³ΠΈΡ…. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


let mas = [[1, 2], [3, 4] ,[5, 6]]
console.log(mas[0][1])//Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ 1

Рассмотрим ΠΎΠ΄ΠΈΠ½ ΠΈΠ· способов добавлСния элСмСнта Π² массив. Он ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΏΡ€ΠΈ условии Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ порядковоС мСсто, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π² скобках, Π½Π΅ занято, ΠΈΠ½Π°Ρ‡Π΅ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ старый. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


let mas = [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€]
mas[3] = β€œΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€β€ //ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€, β€œΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€β€]

Как ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, такая опСрация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ элСмСнт массива. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


let mas = [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€]
mas[2] = β€œΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€β€ //ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€β€]

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ элСмСнтов ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ·Π½Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства length. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


let mas = [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€]
console.log(mas.length) //Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ 3

По ΠΏΡ€Π°Π²Π΄Π΅ говоря, свойство length Π½Π΅ всСгда ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство элСмСнтов. Оно ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ массива, Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² массивах могут Π±Ρ‹Ρ‚ΡŒ пропуски, Π΄Π°Π½Π½ΠΎΠ΅ свойство Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ порядковый Π½ΠΎΠΌΠ΅Ρ€ послСднСго элСмСнта ΠΈ прибавляСт ΠΊ Π½Π΅ΠΌΡƒ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ.

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


let mas = []
mas[99] = β€œΠΌΡ‹ΡˆΠΊΠ°β€
console.log(mas.length)//Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ 100

Π’ Π΄Π°Π½Π½ΠΎΠΌ массивС всСго один элСмСнт, Π½ΠΎ свойство length Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ число 100. Β ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² JavaScript массивы с пустыми мСстами Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚.

Π’Π°ΠΊΠΆΠ΅ Π΄Π°Π½Π½ΠΎΠ΅ свойство позволяСт ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ массива, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡΡ€Π΅Π·Π°Ρ‚ΡŒ элСмСнты с ΠΊΠΎΠ½Ρ†Π°. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


let mas = [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€]
mas.length = 2
console.log(mas)//Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€]

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ массива ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:Β 


let mas = [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€]
for (let elem of mas) {
     console.log(elem)
}
//Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ β€œΠΌΡ‹ΡˆΠΊΠ°β€
//        β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€
//        β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€

ΠšΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π² Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ

ΠŸΠΎΠ΄ΠΏΠΈΡˆΠΈΡ‚Π΅ΡΡŒ ΠΈ Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π² курсС послСдних IT-новостСй

ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами

Для удалСния послСднСго элСмСнта массива ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ pop. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


let mas = [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€]
console.log(mas.pop()) //Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ удаляСмый элСмСнт, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€
console. log(mas) //Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€]

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


let mas = [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€]
mas.push( β€œΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€β€)
console.log(mas) //Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€, β€œΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€β€]

Для удалСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта массива ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ shift. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


let mas = [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€]
console.log(mas.shift()) //Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ удаляСмый элСмСнт, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ β€œΠΌΡ‹ΡˆΠΊΠ°β€
console.log(mas) //Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ [β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€]

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


let mas = [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€]
mas.shift( β€œΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€β€)
console.log(mas) //Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ [β€œΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€β€, β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€]

Из-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ push/pop Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ смСщСния порядка элСмСнтов массива, ΠΎΠ½ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² shift/unshift. ОсобСнно это Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ массивов с большим количСством элСмСнтов.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° toString ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС элСмСнты Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ массива Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ Π² Π²ΠΈΠ΄Π΅ строки. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


let mas = [β€œΠΌΡ‹ΡˆΠΊΠ°β€, β€œΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°β€, β€œΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€β€]
console.log(mas.toString())//Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ β€œΠΌΡ‹ΡˆΠΊΠ°,ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°,монитор”

Π˜Ρ‚ΠΎΠ³

ΠœΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ такоС массивы Π² JavaScript,Β ΠΈ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠΈ. НадСюсь, эта ΡΡ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° ΠΏΠΎΠ»Π΅Π·Π½Π° для вас.Β Π£Π΄Π°Ρ‡ΠΈ!

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ количСство элСмСнтов Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ javascript

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹: ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ свойств

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π½Π° этой страницС устарСл, поэтому скрыт ΠΈΠ· оглавлСния сайта.

Π‘ΠΎΠ»Π΅Π΅ новая информация ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅ находится Π½Π° страницС https://learn.javascript.ru/object.

Для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° всСх свойств ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ†ΠΈΠΊΠ» ΠΏΠΎ свойствам for..in . Π­Ρ‚Π° синтаксичСская конструкция отличаСтся ΠΎΡ‚ рассмотрСнного Ρ€Π°Π½Π΅Π΅ Ρ†ΠΈΠΊΠ»Π° for(;;) .

for..in

ΠŸΡ€ΠΈ этом for..in ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π±Π΅Ρ€Ρ‘Ρ‚ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° obj , имя ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ свойства Π±ΡƒΠ΄Π΅Ρ‚ записано Π² key ΠΈ Π²Ρ‹Π·Π²Π°Π½ΠΎ Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°.

Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ key ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ прямо Π² Ρ†ΠΈΠΊΠ»Π΅:

Π’Π°ΠΊ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΈΡˆΡƒΡ‚ для краткости ΠΊΠΎΠ΄Π°. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΊΡ€ΠΎΠΌΠ΅ key , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ for(var propName in menu) .

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ свойствам:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΌΡ‹ использовали ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки menu[key] . Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ, Ссли имя свойства хранится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΊ, Π½Π΅ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ.

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ свойств Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ, сколько свойств Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚?

Π“ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° для этого Π½Π΅Ρ‚.

Π‘Π°ΠΌΡ‹ΠΉ кросс-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹ΠΉ способ – это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» ΠΏΠΎ свойствам ΠΈ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π³Π»Π°Π²Π°Ρ… ΠΌΡ‹ ΠΏΡ€ΠΎΠΉΠ΄Ρ‘ΠΌ массивы ΠΈ познакомимся с Π΄Ρ€ΡƒΠ³ΠΈΠΌ, Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌ, Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ: Object.keys(menu).length .

Π’ ΠΊΠ°ΠΊΠΎΠΌ порядкС ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ свойства?

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, рассмотрим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π΄Π°Ρ‘Ρ‚ список ΠΎΠΏΡ†ΠΈΠΉ для Π²Ρ‹Π±ΠΎΡ€Π° страны:

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ посСтитСлСй ΠΈΠ· России, ΠΈ поэтому Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ с 7 , это зависит ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, начиная с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π° основС списка гСнСрируСтся select , Π½ΠΎ здСсь Π½Π°ΠΌ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ это, Π° Π²Π°ΠΆΠ½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

ΠŸΡ€Π°Π²Π΄Π° Π»ΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π΅ for(key in codes) ΠΊΠ»ΡŽΡ‡ΠΈ key Π±ΡƒΠ΄ΡƒΡ‚ пСрСчислСны ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Ρ‚ΠΎΠΌ порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π·Π°Π΄Π°Π½Ρ‹?

По стандарту – Π½Π΅Ρ‚. Но Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ соглашСниС ΠΎΠ± этом, всё ΠΆΠ΅, Π΅ΡΡ‚ΡŒ.

БоглашСниС Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ссли имя свойства – нСчисловая строка, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ всСгда ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π»ΠΈΡΡŒ. Π’Π°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΠΏΠΎ историчСским ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это слоТно: поломаСтся ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ссли имя свойства – число ΠΈΠ»ΠΈ числовая строка, Ρ‚ΠΎ всС соврСмСнныС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ свойства Π² цСлях Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, рассмотрим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ нСчисловыми свойствами:

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ – Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΊΠΎΠ΄Π°ΠΌΠΈ?

ΠŸΡ€ΠΈ запускС этого ΠΊΠΎΠ΄Π° Π² соврСмСнном Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мСсто ΠΏΠΎΠΏΠ°Π» ΠΊΠΎΠ΄ БША!

ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ порядка Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ΠΈ числСнныС. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ JavaScript Π²ΠΈΠ΄ΠΈΡ‚, Ρ‡Ρ‚ΠΎ строка Π½Π° самом Π΄Π΅Π»Π΅ являСтся числом ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΊΠ»ΡŽΡ‡ Π² Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ эффСктом Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ являСтся сортировка.

А Ρ‡Ρ‚ΠΎ, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ порядок Π±Ρ‹Π» ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΡ‹ Π·Π°Π΄Π°Π»ΠΈ?

Π­Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. МоТно ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ нСбольшой Ρ…Π°ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всС ΠΊΠ»ΡŽΡ‡ΠΈ нСчисловыми, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π°Ρ‡Π°Π»ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ символ β€˜+’ :

ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ количСства элСмСнтов Π² массивС JavaScript

Π”Π°Π²Π°ΠΉΡ‚Π΅ подсчитаСм количСство элСмСнтов β€˜a’ Π² этом массивС. Для этого Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ массив Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ элСмСнт с Π½ΡƒΠΆΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, Π±ΡƒΠ΄Π΅ΠΌ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ счСтчик Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ:

Π”Π°Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ массив:

ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ количСство Ρ†ΠΈΡ„Ρ€ 3 Π² этом массивС.

ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π»ΠΎΡΡŒ ΠΈ количСство Ρ‚Ρ€ΠΎΠ΅ΠΊ, ΠΈ количСство Π΄Π²ΠΎΠ΅ΠΊ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

ΠŸΡƒΡΡ‚ΡŒ Ρƒ нас ΠΎΠΏΡΡ‚ΡŒ Π΄Π°Π½ наш массив:

Π”Π°Π²Π°ΠΉΡ‚Π΅ подсчитаСм сколько ΠΊΠ°ΠΊΠΈΡ… элСмСнтов Π΅ΡΡ‚ΡŒ Π² этом массивС ΠΈ прСдставим Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ сдСлаСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ count со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ:

Π‘ΡƒΠ΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ массив Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ count :

ПойдСм дальшС: Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° count Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ пСрСчислСны символы, вСдь ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ элСмСнты Π΅ΡΡ‚ΡŒ Π² массивС.

ΠŸΡƒΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ count формируСтся автоматичСски Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Ссли Ρ‚Π°ΠΊΠΎΠ³ΠΎ элСмСнта Π² count Π½Π΅Ρ‚, Ρ‚ΠΎ Π΅ΠΌΡƒ слСдуСт ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1 , Π° Ссли Π΅ΡΡ‚ΡŒ β€” просто ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ:

Π”Π°Π½Π° строка. ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ сколько Ρ€Π°Π· Π² Π½Π΅ΠΉ встрСчаСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π΅Π΅ символов.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство элСмСнтов Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ JavaScript, Π³Π΄Π΅ ΠΊΠ»ΡŽΡ‡ = опция

Π­Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ JavaScript.
Как ΡƒΠ·Π½Π°Ρ‚ΡŒ количСство элСмСнтов с условиями gallery = «Abstract» ΠΈ gallery = «Game» .

6 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚:

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ jquery grep.

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ваш ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° массив, сдСлайтС это, ΠΊΠ°ΠΊ это.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ» for для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° массива .

Π Π•Π”ΠΠšΠ’Π˜Π ΠžΠ’ΠΠ’Π¬: Π½ΠΎ я просто Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ это Π½Π΅ массив, Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Javascript. ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΠΎ прямым скобкам ([]), Π° Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки (<>), поэтому ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° НЕ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этим.

Array Reduce JavaScript: ΠΎΠ±Π·ΠΎΡ€, свойства ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

УмСньшСниС массива Π² JavaScript β€” это ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ массива Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива. Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ для всСх элСмСнтов ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ массива Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½ΠΎΠ΅ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сохраняСтся Π² аккумуляторС. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠ΅Ρ‚ΠΎΠ΄ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ массива Π² JavaScript Π½Π΅ являСтся ΠΌΡƒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ вмСсто измСнСния фактичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ значСния ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ вычислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² аккумуляторС Π±Π΅Π· измСнСния исходной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ значСния.

УмСньшСниС массива Π² синтаксисС JavaScript ΠΈ значСниях ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

Бинтаксис JavaScript сокращСния массива:

array.reduce (callbackfn (всСго, curValue, curIndex, массив), initialValue)

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ синтаксисС:

  • Callbackfn: это ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ callbackfn Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°:
  • .
    • Π˜Ρ‚ΠΎΠ³ΠΎ: это ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ аккумулятором, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π½Π°Ρ‡Π°Π»Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ послСднСС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
    • curValue: это ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ выполняСмого элСмСнта.
    • curIndex: Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, содСрТащий индСкс Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ значСния.
    • Массив: это Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ массива, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ выполняСтся опСрация.
  • initialValue: это Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅Π΄ΡƒΠΊΡ‚ΠΎΡ€ ΠΈ аккумулятор?

Π Π΅Π΄ΡƒΠΊΡ‚ΠΎΡ€ ΠΈ аккумулятор β€” Π²Π°ΠΆΠ½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с сокращСниСм массива Π² JavaScript.

  • Π Π΅Π΄ΡƒΠΊΡ‚ΠΎΡ€: Π Π΅Π΄ΡƒΠΊΡ‚ΠΎΡ€ β€” это дСйствиС, выполняСмоС Π½Π°Π΄ массивом, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ вСсь массив Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния.
  • Аккумулятор: Аккумулятор β€” это СдинствСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π² ΠΊΠΎΠ½Ρ†Π΅ выполнСния послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ€Π΅Π΄ΡƒΠΊΡ‚ΠΎΡ€Π°.

Бвойства сокращСния массива Π² JavaScript

ΠœΠ΅Ρ‚ΠΎΠ΄ сокращСния массива ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свойства:

  • Если ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ этому Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ curValue Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ массива.
  • Если Π²Ρ‹ Π½Π΅ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ initialValue, аккумулятор Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ элСмСнту массива, Π° curValue Π±ΡƒΠ΄Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ элСмСнта.
  • Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ сокращСниС массива для массива Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ элСмСнтов ΠΈ Π½Π΅ прСдоставляСтС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, это Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ TypeError.
  • Если массив пуст ΠΈ Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ initialValue ΠΈΠ»ΠΈ массив содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ элСмСнт ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ initialValue, ΠΌΠ΅Ρ‚ΠΎΠ΄ сокращСния Π²Π΅Ρ€Π½Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Π΅Π· Π²Ρ‹Π·ΠΎΠ²Π° callbackfn.

Массив Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ JavaScript

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ ΠΎ суТСнии массива Π² JavaScript ΠΈ Π΅Π³ΠΎ синтаксисС, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: суммированиС всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ сокращСниС массива Π² JavaScript для суммирования элСмСнтов массива ΠΈ записи Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² консоль.

ΠΏΡƒΡΡ‚ΡŒ число = [5, 9, 12, 24, 67]

ΠΏΡƒΡΡ‚ΡŒ сумма = num. reduce (функция (аккумулятор, curValue) {

Β Β Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ аккумулятора + curValue

}, 0)

console.log(сумма)

Π’Ρ‹Ρ…ΠΎΠ΄:

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄ со стрСлочными функциями. Π’ΠΎΡ‚ ΠΊΠΎΠ΄ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅:

ΠΏΡƒΡΡ‚ΡŒ число = [5, 9, 12, 24, 67]

ΠΏΡƒΡΡ‚ΡŒ сумма = num.reduce ((аккумулятор, curValue) => аккумулятор + curValue, 0)

console.log(сумма)

Π’Ρ‹Ρ…ΠΎΠ΄:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2. Π‘ΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² массивС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Array Reduce JavaScript

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ значСния ΠΈΠ· массива ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ initialValue. Π­Ρ‚ΠΎ заставило Π±Ρ‹ всС элСмСнты массива ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ Π΄Π°Ρ‚ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

ΠΏΡƒΡΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = 0

ΠΏΡƒΡΡ‚ΡŒ obj = [{n: 5}, {n: 9}, {n: 13}, {n: 25}, {n: 40}]

ΠΏΡƒΡΡ‚ΡŒ сумма = obj.reduce (функция (аккумулятор, curValue) {

Β Β Β Β Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½Ρ‹ΠΉ аккумулятор + curValue.n

}, Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)

console.log(сумма)

Π’Ρ‹Ρ…ΠΎΠ΄:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3.

Π‘Π²Π΅Π΄Π΅Π½ΠΈΠ΅ массива массивов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Reduce

На этот Ρ€Π°Π· ΠΌΡ‹ возьмСм массив массивов ΠΈ сократим (сгладим) Π΅Π³ΠΎ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ массива. Код Π½ΠΈΠΆΠ΅ дСмонстрируСт Ρ‚ΠΎ ΠΆΠ΅ самоС.

ΠΏΡƒΡΡ‚ΡŒ mulArray = [[3, 5], [1, 7], [12, 9]]

let newArray = mulArray.reduce (функция (аккумулятор, curValue) {

Β Β Β Β Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½Ρ‹ΠΉ аккумулятор.concat(curValue)

Β Β },[]

)

console.log(Π½ΠΎΠ²Ρ‹ΠΉ массив)

Π’Ρ‹Ρ…ΠΎΠ΄:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4. ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ экзСмпляров Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ с использованиСм сокращСния массива Π² JavaScript

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ создадим массив с названиями Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ сокращСниС массива Π² JavaScript для подсчСта количСства случаСв появлСния названия автомобиля.

let myCars = [‘ΠœΠ΅Ρ€ΡΠ΅Π΄Π΅Ρ-Π‘Π΅Π½Ρ†’, ‘Π”ΠΆΠΈΠΏ’, ‘Π€Π΅Ρ€Ρ€Π°Ρ€ΠΈ’, ‘Π›Π°ΠΌΠ±ΠΎΡ€Π³ΠΈΠ½ΠΈ’, ‘ΠœΠ΅Ρ€ΡΠ΅Π΄Π΅Ρ-Π‘Π΅Π½Ρ†’, ‘Π‘ΠœΠ’’, ‘Π€Π΅Ρ€Ρ€Π°Ρ€ΠΈ’]

let instances = myCars.reduce (функция (allCars, car) {

Β Β if (Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ Π² allCars) {

Β Β Β Β allCars[car]++

Β Β }

Β Β ΠΈΠ½Π°Ρ‡Π΅ {

Β Β Β Β allCars[Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ] = 1

Β Β }

Β Β Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ allCars

}, {})

console. log(экзСмпляры)

Π’Ρ‹Ρ…ΠΎΠ΄:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5. Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сокращСния массива Π² JavaScript

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° основС значСния свойства с использованиСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ массива JavaScript.

ΠΏΡƒΡΡ‚ΡŒ студСнт = [

Β Β {имя: ‘Дэвид’, возраст: 23 Π³ΠΎΠ΄Π°, Ρ…ΠΎΠ±Π±ΠΈ: ‘Ρ€Ρ‹Π±Π°Π»ΠΊΠ°’},

Β Β {имя: ‘РэйчСл’, возраст: 25 Π»Π΅Ρ‚, Ρ…ΠΎΠ±Π±ΠΈ: ‘Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°’ },

Β Β {имя: ‘Π Π°Ρ…ΡƒΠ»’, возраст: 22 Π³ΠΎΠ΄Π°, Ρ…ΠΎΠ±Π±ΠΈ: ‘Ρ€Ρ‹Π±Π°Π»ΠΊΠ°’}

];

функция myFunc(obj, prop) {

Β Β Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ obj.reduce(функция (Π°ΠΊΠΊ, элСмСнт) {

Β Β Β Β let key = элСмСнт[Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚]

Β Β Β Β if (!acc[ΠΊΠ»ΡŽΡ‡]) {

Β Β Β Β Β Β Π°ΠΊΠΊ[ΠΊΠ»ΡŽΡ‡] = []

Β Β Β Β }

Β Β Β Β Π°ΠΊΠΊ[ΠΊΠ»ΡŽΡ‡].push(элСмСнт)

Β Β Β Β Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ согл.

Β Β }, {})

}

ΠΏΡƒΡΡ‚ΡŒ groupedStudent = myFunc(студСнт, ‘Ρ…ΠΎΠ±Π±ΠΈ’)

console.log(groupedStudent)

Π’Ρ‹Ρ…ΠΎΠ΄:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 6. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сокращСния массива

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создадим массив с нСсколькими ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠΌΠΈΡΡ значСниями, Π° Π·Π°Ρ‚Π΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ сокращСниСм массива Π² JavaScript, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ эти ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ значСния.

ΠΏΡƒΡΡ‚ΡŒ массив = [2, 5, 7, 5, 12, 9, 7, 5, 4, 3, 5, 2, 4, 15]

let newArray = array.reduce (функция (аккумулятор, curValue) {

  Ссли (аккумулятор.indexOf(curValue) === -1) {

    аккумулятор.push(curValue)

Β Β }

Β Β ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ аккумулятор

}, [])

console.log(Π½ΠΎΠ²Ρ‹ΠΉ массив)

Π’Ρ‹Ρ…ΠΎΠ΄:

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ сокращСниС массива Π² JavaScript

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ список Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ использованиС сокращСния массива Π² JavaScript:

  • Π“ΡƒΠ³Π» Π₯Ρ€ΠΎΠΌ
  • Microsoft Edge 9.0
  • Мозилла ЀаСрфокс 3.0
  • Π‘Π°Ρ„Π°Ρ€ΠΈ 5.0
  • ΠžΠΏΠ΅Ρ€Π° 10.5
Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ основы JavaScript, jQuery, Ajax ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сСртификационного ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ курса ΠΏΠΎ JavaScript. ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ просмотром курса!

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ всС ΠΎ сокращСнии массива Π² JavaScript ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ массива Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎΠ± основах JavaScript, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ сСртификационный курс Simplilearn ΠΏΠΎ JavaScript. ΠšΡƒΡ€Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ языка программирования, Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдоставит ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ΅ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ созданию прилоТСния Ρ‡Π°Ρ‚Π°.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° нашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ SkillUp. Π­Ρ‚ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π° Simplilearn, которая ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ бСсплатныС ΠΎΠ½Π»Π°ΠΉΠ½-курсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΠΎΡ‚Ρ‚ΠΎΡ‡ΠΈΡ‚ΡŒ свои Π½Π°Π²Ρ‹ΠΊΠΈ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языках программирования, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ JavaScript. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΡŒ заявку Π½Π° наш ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ сСртификационный курс Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования наряду с JavaScript. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языков Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² соврСмСнном ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠΌ ΠΌΠΈΡ€Π΅, ΠΈ наш курс ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π² этом. Он позволяСт ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с основами самых популярных языков Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… инструмСнтов. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ сСртификат ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ курса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ ΠΊ своим Π½Π°Π²Ρ‹ΠΊΠ°ΠΌ ΠΈ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΠΎΠΎΠΏΠ»Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

ΠœΠ΅Ρ‚ΠΎΠ΄ JavaScript Array.Map()

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ углубимся Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ .map() , Π΄Π°Π²Π°ΠΉΡ‚Π΅ просто вспомним, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ массив. Массив β€” это структура Π΄Π°Π½Π½Ρ‹Ρ…, содСрТащая Π³Ρ€ΡƒΠΏΠΏΡƒ элСмСнтов. Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎΠ± этом ΠΊΠ°ΠΊ ΠΎ большой ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ΅, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ нСсколько ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… ΠΊΠΎΡ€ΠΎΠ±ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎ ΠΈΡ… индСксу. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ящик Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 0 Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ящиком, Π° ящик Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 1 Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ящиком. Π’Π½ΡƒΡ‚Ρ€ΠΈ этих ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² Ρƒ нас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ строка тСкста, чисСл ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

 const people = ['ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт', 'Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт']
 
 постоянныС люди = [
  {
    имя: 'Π”Π΅Π±Π±ΠΈ',
    Ѐамилия: "О'Π‘Ρ€Π°ΠΉΠ΅Π½"
  },
  {
    имя: 'Π”ΠΆΠ΅ΠΉΠΊ',
    фамилия: 'Π”ΠΎΠΌ'
  }
]
 

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

ΠœΠ΅Ρ‚ΠΎΠ΄ .map() ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ 3 Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ β€” Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ β€” индСкс, Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ β€” исходный массив, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ.

 константныС ΠΈΠΌΠ΅Π½Π° = people.map (функция (currentValue, index, allPeople) {})
 

Ѐункция просматриваСт массив людСй ΠΈ запускаСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² массивС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π΅Ρ‚ большС смысла Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, СдинствСнной вСрсиСй людСй. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π²Π°ΠΌ понадобится ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚.

 константныС ΠΈΠΌΠ΅Π½Π° = people.map (функция (Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ) {})
 

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ стрСлки вмСсто Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. И Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ скобки с Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°.

 константныС ΠΈΠΌΠ΅Π½Π° = people.map(person => {})
 

Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ map() Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² массивС, всС, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, становится Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ этого элСмСнта. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли ΠΌΡ‹ Π²Π΅Ρ€Π½Π΅ΠΌ person ΠΌΡ‹ Π²Π΅Ρ€Π½Π΅ΠΌ Ρ€ΠΎΠ²Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π² исходном массивС.

 константныС ΠΈΠΌΠ΅Π½Π° = people.map(person => {
  Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°
})
 

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ, Π΄Π°ΠΆΠ΅ Ссли исходный массив прСдставляСт собой массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², вмСсто этого ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ строку. Если ΠΌΡ‹ Π²Π΅Ρ€Π½Π΅ΠΌ строку с ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ тСкстом, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ эту ΠΆΠ΅ строку для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива.

 константныС ΠΈΠΌΠ΅Π½Π° = people.map(person => {
  Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ "Π”Π΅Π±Π±ΠΈ"
})
 

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ. ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ fullName ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ значСния firstName ΠΈ lastName.

 константныС ΠΈΠΌΠ΅Π½Π° = people.map(person => {
  Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ {
    полноС имя: `${person.firstName} ${person.lastName}`
  }
})
 

Π­Ρ‚ΠΎ даст Π½Π°ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ массив, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это всС, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ просили. Однако, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя, Π° Ρ‚Π°ΠΊΠΆΠ΅ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ содСрТимоС Π² массивС, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈΡ….

 константныС ΠΈΠΌΠ΅Π½Π° = people.map(person => {
  Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ {
    полноС имя: `${person.firstName} ${person.lastName}`,
    имя: Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.имя,
    фамилия: Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.фамилия
  }
})
 

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 2 Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠ»ΡŽΡ‡Π°, имя ΠΈ фамилия, Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ссли Π±Ρ‹ Ρƒ нас Π±Ρ‹Π»ΠΎ большС Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΊΠ°ΠΊ возраст, адрСс ΠΈ Ρ‚. Π΄. Π‘Ρ‹Π»ΠΎ Π±Ρ‹ ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… всС. ВмСсто этого ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ распространСния. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ распространСния Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² список Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². ΠŸΠ΅Ρ€Π΅Π΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ставится ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡ΠΈΠ΅ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ ...Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ .

 константныС ΠΈΠΌΠ΅Π½Π° = people.map(person => {
  Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ {
    полноС имя: `${person.firstName} ${person.lastName}`,
    ...Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ
  }
})
 

Π’ΠΎΡ‚ ΠΈ всС. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ массив ΠΈΠΌΠ΅Π½ с ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ плюс имя ΠΈ фамилия. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ большС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π² нашСм массивС людСй, ΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ эти Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ Π±Π΅Π· нСобходимости Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ благодаря использованию ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° распространСния. И, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта Π² массив ΠΈΠΌΠ΅Π½, Ссли Π±Ρ‹ Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΈ. ΠŸΠΎΠ»ΡƒΡ‡Π°ΠΉΡ‚Π΅ ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ ΠΎΡ‚ .map() .

НС ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с созданной ΠΌΠ½ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ€ΡƒΡ‡ΠΊΠΎΠΉ.

  • Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ Π²Π΄ΠΎΡ…Π½ΠΎΠ²Π»Π΅Π½Π° ​​видСо Π”ΠΆΠ΅ΠΉΠΊΠ° Π”ΠΎΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π²Π°ΠΌ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ.

  • Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎΠ± этом, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ MDn для Array. prototype.map()

  • ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΌΠΎΠΈΠΌ сообщСниСм ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ массива

  • ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΌΠΎΠΈΠΌ сообщСниСм ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ массива

Как ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство элСмСнтов Π² массивС Π² C++

Автор Aayush Kumaria

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство элСмСнтов Π² массивС Π² C++ .

Массив β€” это ΠΌΠ΅Ρ‚ΠΎΠ΄ совмСстного хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² C++. Он ΠΈΠΌΠ΅Π΅Ρ‚ фиксированный Ρ€Π°Π·ΠΌΠ΅Ρ€, поэтому ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива.
Но Ρ‡Ρ‚ΠΎ, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²Π΅Π΄Π΅Ρ‚ элСмСнты мСньшС Ρ€Π°Π·ΠΌΠ΅Ρ€Π°? Как ΡƒΠ·Π½Π°Ρ‚ΡŒ, сколько Π² Π½Π΅ΠΌ элСмСнтов?
ΠŸΡ€ΠΎΠ²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ°Π»ΡŒΡ†Π΅ΠΌ Π²Π½ΠΈΠ·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ массив? Массив β€” это линСйная структура Π΄Π°Π½Π½Ρ‹Ρ…, которая Ρ…Ρ€Π°Π½ΠΈΡ‚ элСмСнты ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΈΡ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ свойство ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ доступа. Блишком ΠΌΠ½ΠΎΠ³ΠΎ Π³Ρ€ΠΎΠΌΠΊΠΈΡ… слов? Π”Π°Π²Π°ΠΉΡ‚Π΅ упростим это.
1) Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ β€” послС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ достигнут Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ элСмСнт Π΄Π°Π½Π½Ρ‹Ρ….
2) ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ доступ β€” любой элСмСнт Π² массивС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ доступСн Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

Массив, Ссли ΠΎΠ½ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½, сохраняСтся со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ мусора. А Ссли это ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ρ‚ΠΎ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ элСмСнты практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство элСмСнтов

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ 1: ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ элСмСнты Π΄Π°Π½Π½Ρ‹Ρ…

ВзглянитС Π½Π° этот ΠΊΠΎΠ΄.

 #include 
использованиС пространства ΠΈΠΌΠ΅Π½ std;
основной ()
{
    ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» [10] = {1,2,3,4};
    Ρ†Π΅Π»ΠΎΠ΅ число = 0;
    для (Ρ†Π΅Π»ΠΎΠ΅ я = 0; я <10; я ++)
    {
        Ссли(ΠΎΠ±Ρ€[я]!='\0')
            количСство++;
    }
    cout<<"Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива: "<

ЗапуститС ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎΠ½Π»Π°ΠΉΠ½
4 элСмСнта Π² массивС ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π°ΠΌΠΈ. И Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ:

 Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² массивС: 4 

Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠΎΠ΄:

1) Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ:

 #include 
использованиС пространства ΠΈΠΌΠ΅Π½ std; 

Π’ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Β«iostreamΒ» для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°
ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, «использованиС пространства ΠΈΠΌΠ΅Π½ std;Β» это ярлык, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ Π½Π΅ писали Β«std::coutΒ» ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ Β«std::cinΒ» ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ

2)Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ

 int arr[10] = {1,2,3,4};
Ρ†Π΅Π»ΠΎΠ΅ число = 0; 

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ массив Ρ‚ΠΈΠΏΠ° int с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«arrΒ» Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 10. Как я ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» Π²Ρ‹ΡˆΠ΅, Ρ€Π°Π·ΠΌΠ΅Ρ€ массива Π½Π°ΠΌ извСстСн.
ΠœΡ‹ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ 4 элСмСнта Π² этот массив: Β«1,2,3,4Β» всС Ρ‚ΠΈΠΏΠ° int, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ массива β€” int
ΠŸΡ€Π΅Π»Π΅ΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π² массивС автоматичСски ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Β«\0Β» Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ NULL

Π― Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ count Ρ‚ΠΈΠΏΠ° int Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 0, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство элСмСнтов Π² массивС

3) ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

 for(int i=0;i<10;i++)
    {
        Ссли(ΠΎΠ±Ρ€[я]!='\0')
            количСство++;
    }
cout<<"Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива: "<

Π˜Ρ‚Π°ΠΊ, здСсь ΠΌΡ‹ Π½Π°Ρ‡Π°Π»ΠΈ Ρ†ΠΈΠΊΠ» for с 0, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ индСкса массива, ΠΈ дошли Π΄ΠΎ 9, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ послСднСго индСкса массива.
Π˜Ρ‚Π°ΠΊ, Π² основном ΠΌΡ‹ сканируСм ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π² массивС

ΠœΡ‹ помСстили Ρ‚ΡƒΠ΄Π° if(arr[i]!=’\0β€²), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ элСмСнт Β«\0Β» ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Если это Π½Π΅ Β«\ 0Β», Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ count увСличиваСтся Π½Π° 1. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, подсчСт элСмСнтов Π² массивС

Π­Ρ‚ΠΎ происходит для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² массивС

НаконСц, ΠΌΡ‹ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ количСство элСмСнтов Π² массивС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ хранится Π² Β«countΒ»

Β 

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ 2: Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ

ΠΊΠΎΠ΄

 #include 
использованиС пространства ΠΈΠΌΠ΅Π½ std;
основной ()
{
    int arr[10]={},count=0;;
    для (Ρ†Π΅Π»ΠΎΠ΅ я = 0; я <4; я ++)
    {
        cout<<"Π’Π²Π΅Π΄ΠΈΡ‚Π΅ элСмСнт:";
        cin>>arr[i];
    }
    для (Ρ†Π΅Π»ΠΎΠ΅ я = 0; я <10; я ++)
    {
        Ссли(ΠΎΠ±Ρ€[я]!='\0')
            количСство++;
    }
    cout<<"Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива: "<

Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ:

 Π’Π²Π΅Π΄ΠΈΡ‚Π΅ элСмСнт:1
Π’Π²Π΅Π΄ΠΈΡ‚Π΅ элСмСнт:2
Π’Π²Π΅Π΄ΠΈΡ‚Π΅ элСмСнт:3
Π’Π²Π΅Π΄ΠΈΡ‚Π΅ элСмСнт:4
ЭлСмСнты в массивС:Β 4 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° это построчно

  1. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ
 #include 
использованиС пространства ΠΈΠΌΠ΅Π½ std; 

ΠœΡ‹ использовали Ρ‚Π΅ ΠΆΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ сцСнарии.
Β«iostreamΒ» для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°
Β«ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ пространство ΠΈΠΌΠ΅Π½ std;Β» Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ Π½Π΅ писали std::cout ΠΈΠ»ΠΈ std::cin ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·

2) Initializing

 int arr[10]={},count=0; 

ΠœΡ‹ снова ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚Π΅ ΠΆΠ΅ 2 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ сцСнарии.
Β«arr[10]Β» β€” массив Ρ‚ΠΈΠΏΠ° int Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 10 элСмСнтов
Β«countΒ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для подсчСта количСства элСмСнтов Π² массивС
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Β«{}Β» послС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ массива. Π­Ρ‚ΠΎ автоматичСски ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Β«\ 0Β»

3) ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΈΠ΅ элСмСнтов

 for (int i=0;i<4;i++)
    {
        cout<<"Π’Π²Π΅Π΄ΠΈΡ‚Π΅ элСмСнт:";
        cin>>arr[i];
    } 

Π’ настоящСС врСмя ΠΌΡ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 4 элСмСнта, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½ΠΎ ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с нСизвСстным количСством элСмСнтов, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΡ… Π² массив, Π²Ρ‹ просто Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Β«4Β» Π½Π° число Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ элСмСнт ΠΈ сохраняСм Π΅Π³ΠΎ Π² i-ΠΌ индСксС массива
i Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ с 0, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ индСксом, ΠΈ поднимаСмся Π²Π²Π΅Ρ€Ρ… Π΄ΠΎ 3

4) ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

 for(int i=0 ;i<10;i++)
    {
        Ссли(ΠΎΠ±Ρ€[я]!='\0')
            количСство++;
    }
cout<<"Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ массива: "<

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄Π΅Π»Ρ‹Π²Π°Π΅ΠΌ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ сцСнарии.
ΠœΡ‹ сканируСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ индСкса, ΠΈ Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Ρ€Π°Π²Π½ΠΎ Β«\0Β», ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ счСтчик Π½Π° 1.
И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΌΡ‹ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ количСство Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… элСмСнтов, Ρ‚.Π΅. сохранСнных Π² count.

Β 

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, основная Ρ…ΠΈΡ‚Ρ€ΠΎΡΡ‚ΡŒ для поиска элСмСнтов Π² массивС Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π΅Π³ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Β«\0Β», ΠΈ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для массивов Ρ‚ΠΈΠΏΠ° int, char, float ΠΈ string.

И всС. НадСюсь, Π²Ρ‹ поняли Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈ смогли Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ сомнСния ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€ΡŽ вас.

')} if(paragraph_for_ad.length>15){let adparagraph=paragraph_for_ad[10];adparagraph.insertAdjacentHTML('afterEnd','

')} if(paragraph_for_ad.length>30){let adparagraph=paragraph_for_ad[25];adparagraph.insertAdjacentHTML('afterEnd','

')}}else if(window.innerWidth>1360){if(paragraph_for_ad.length>15) {let adparagraph=paragraph_for_ad[10];adparagraph. insertAdjacentHTML('afterEnd','

')} if(paragraph_for_ad.length>22){let adparagraph=paragraph_for_ad[18];adparagraph.insertAdjacentHTML('afterEnd','

')} if(paragraph_for_ad.length>30){let adparagraph=paragraph_for_ad[29];adparagraph.insertAdjacentHTML('afterEnd','

')}}

Поиск ΠΈ Π·Π°ΠΌΠ΅Π½Π° элСмСнтов Π² массивС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΌΠΎΠΉ Github для ΠΌΠΎΠ΅ΠΉ бСсплатной элСктронной ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ JavaScript, которая ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ES6 Π΄ΠΎ 2021. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ мСсто для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… руководств, я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Educative , Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΌΠΎΠΉ курс JavaScript
. Π­Ρ‚ΠΎΡ‚ сайт содСрТит партнСрскиС ссылки.

ΠœΠ°ΡΡΠΈΠ²Ρ‹ β€” ΠΎΡ‡Π΅Π½ΡŒ распространСнная структура Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΠΌΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, извлСкая, добавляя ΠΈ замСняя Π΄Π°Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½ΠΈΡ….

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ способы поиска ΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ элСмСнтов Π²Π½ΡƒΡ‚Ρ€ΠΈ массивов.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, содСрТит Π»ΠΈ наш массив Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 const arr = [1, 2, 3, 4, 5]
ΠΏΡ€ΠΈΠ±. Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ (2)
// истинный
ΠΏΡ€ΠΈΠ±. Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ (6)
// Π›ΠžΠ–Π¬
 

Array.includes , вСроятно, самый простой ΠΌΠ΅Ρ‚ΠΎΠ΄ для запоминания, ΠΈ ΠΎΠ½ Π²Π΅Ρ€Π½Π΅Ρ‚ Π½Π°ΠΌ true ΠΈΠ»ΠΈ false , Ссли наш массив Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΠ»ΠΈ Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт индСкс, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ поиск, ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ пустым, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ вСсь массив.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ:

 const arr = [1, 2, 3, 4, 5]
!!arr.find((a) => a === 2)
// истинный
!!arr.find((a) => a === 6)
// Π›ΠžΠ–Π¬
 

Array.find β€” это Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, содСрТит Π»ΠΈ наш массив ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ само Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ undefined, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, поэтому ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ !! , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² логичСский ΠΈ быстро ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Π΅ΡΡ‚ΡŒ совпадСниС ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

Π­Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Array.includes , ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ², Π° Π½Π΅ просто Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:

 const arr = [1, 2 , 3, 4, 5]
!!arr.find((a) => a > 2 && a < 4)
// истинный
 

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли ваша ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π΅ являСтся ΠΎΡ‡Π΅Π½ΡŒ простой, Π²Ρ‹, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ find вмСсто include .

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΡƒΡŽ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ, ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ пустым, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ вСсь массив.

Π”Π°Π»Π΅Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ Array.indexOf ΠΈ Array.findIndex :

 const arr = [1, 2, 3, 4, 5]
arr.indexOf(1) !== -1
// истинный
arr.indexOf(6) !== -1
// Π›ΠžΠ–Π¬
arr.findIndex((el) => el === 1) !== -1
// истинный
arr.findIndex((el) => el === 6) !== -1
// Π›ΠžΠ–Π¬
 

test

Array. indexOf ΠΈ Array.findIndex ΠΏΠΎΡ…ΠΎΠΆΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта, Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Π² нашСм массивС, возвращая Π½Π°ΠΌ -1 , Ссли ΠΎΠ½ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, сущСствуСт Π»ΠΈ элСмСнт, Π½Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ -1 ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ сущСствования элСмСнта Π² массивС, Ρ‚Π°ΠΊ ΠΈ для получСния ссылки Π½Π° мСстонахоТдСниС этого элСмСнта, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π·Π°ΠΌΠ΅Π½Ρ‹ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Array.includes ΠΈ Array.find , Π³Π΄Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ( Array.indexOf ) ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ( Array.findIndex ) ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² для выполнСния Π±ΠΎΠ»Π΅Π΅ слоТных ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ.

Аналогично всСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Ρ€Π°Π½Π΅Π΅, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ слСдуСт Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ массива.

Π”Π°Π»Π΅Π΅ ΠΈΠ΄ΡƒΡ‚ Π΄Π²Π° Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, прСдставлСнных Π² ES6 (ES2015):

 константа ΠΎΠ±Ρ€ = [1, 2, 3, 4, 5]
arr.some((el) => el === 2)
// истинный
arr.every((el) => el === 3)
// Π›ΠžΠ–Π¬
 

Array.some ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚, соотвСтствуСт Π»ΠΈ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² массивС ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ Π² нашСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°, Π° Array.every ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π’Π‘Π• элСмСнты массива ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ этому ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, содСрТит Π»ΠΈ массив ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ элСмСнт, допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ этот элСмСнт Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ.

Зная описанныС Π²Ρ‹ΡˆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΏΡ€ΠΎΡ‰Π΅ Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚!

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ элСмСнт, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ Π΅Π³ΠΎ индСкс, поэтому Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² с использованиСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΈΠ·ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

 const arr = [1, 2, 3, 4, 5]
постоянный индСкс = arr.indexOf (2)
ΠΏΡ€ΠΈΠ±Ρ‹Ρ‚ΠΈΠ΅ [индСкс] = 0
ΠΎΠ±Ρ€
// [1,0,3,4,5];
 

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, сначала ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ индСкс элСмСнта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС число 2, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ Π² скобках arr[index] .

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ findIndex :

 const arr = [1, 2, 3, 4, 5]
const index = arr.findIndex((el) => el === 2)
ΠΏΡ€ΠΈΠ±Ρ‹Ρ‚ΠΈΠ΅ [индСкс] = 0
ΠΎΠ±Ρ€
// [1,0,3,4,5];
 

Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ просто, Π²Π΅Ρ€Π½ΠΎ? Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ findIndex , ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ сцСнарии, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ, Π³Π΄Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

 const arr = [
  {
    ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€: 1,
    Π²Π°Π»: 'ΠΎΠ΄ΠΈΠ½',
  },
  {
    ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€: 2,
    Π²Π°Π»: 'Π΄Π²Π°',
  },
  {
    ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€: 3,
    Π²Π°Π»: Β«Ρ‚Ρ€ΠΈΒ»,
  },
  {
    ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€: 4,
    Π²Π°Π»: 'Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅',
  },
  {
    ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€: 5,
    Π²Π°Π»: Β«ΠΏΡΡ‚ΡŒΒ»,
  },
]
const index = arr.findIndex((el) => el.id === 2)
ΠΎΠ±Ρ€[индСкс] = {
  ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€: 0,
  Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: «ноль»,
}
ΠΎΠ±Ρ€
// [
// {
// ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€: 1,
// Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 'ΠΎΠ΄ΠΈΠ½'
// },
// {
// ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€: 0,
// Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 'ноль'
// },
// {
// ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€: 3,
// Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 'Ρ‚Ρ€ΠΈ'
// },
// {
// ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€: 4,
// Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 'Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅'
// },
// {
// ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€: 5,
// Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: 'ΠΏΡΡ‚ΡŒ'
// },
// ];
 

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ findIndex , ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² массивС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Допустим, ΠΌΡ‹ Π½Π΅ заинтСрСсованы Π² Π·Π°ΠΌΠ΅Π½Π΅ значСния, Π° просто Ρ…ΠΎΡ‚ΠΈΠΌ Π΅Π³ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ рассмотрим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это.

Π‘Π½Π°Ρ‡Π°Π»Π° рассмотрим Π±ΠΎΠ»Π΅Π΅ простыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ удалСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· массива: Array.pop ΠΈ Array.shift

 const arr = [1, 2, 3, 4, 5]
ΠΎΠ±Ρ€.ΠΏΠΎΠΏ()
ΠΎΠ±Ρ€
// [1,2,3,4]
константа ΠΎΠ±Ρ€2 = [1, 2, 3, 4, 5]
arr2.shift()
ΠΎΠ±Ρ€2
// [2,3,4,5];
 

Array.pop ΡƒΠ΄Π°Π»ΠΈΡ‚ послСдний элСмСнт массива, Π° Array.shift ΡƒΠ΄Π°Π»ΠΈΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт. НикакиС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ довольно просты.

Оба ΠΌΠ΅Ρ‚ΠΎΠ΄Π° измСнят исходный массив ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ элСмСнт, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

 const arr = [1, 2, 3, 4, 5]
const el = arr.pop()
Эль
// 1
 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ рассмотрим ΠΏΠ°Ρ€Ρƒ способов удалСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта ΠΈΠ· массива.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Array.splice , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² сочСтании с Array. indexOf .

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

 константа ΠΎΠ±Ρ€ = [1, 2, 3, 4, 5]
постоянный индСкс = arr.indexOf (2)
ΠΎΠ±Ρ€.сращиваниС (индСкс, 1)
ΠΎΠ±Ρ€
// [1,3,4,5];
константа ΠΎΠ±Ρ€2 = [1, 2, 3, 4, 5]
константный индСкс = arr2.indexOf(2)
arr2.splice(индСкс)
ΠΎΠ±Ρ€2
// [1]
 

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ 1 ΠΊΠ°ΠΊ количСство удаляСмых элСмСнтов, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ удаляя всС элСмСнты массива ΠΈΠ· нашСго Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ индСкса.

Array.splice ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ исходный массив ΠΈ Π²Π΅Ρ€Π½Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ элСмСнты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

 const arr = [1, 2, 3, 4, 5]
постоянный индСкс = arr.indexOf (2)
const spliceArr = arr.splice (индСкс, 1)
ΠΎΠ±Ρ€
// [1,3,4,5];
сплайсСдАрр
// [2]
 

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ элСмСнты ΠΈΠ· массива Π½Π° основС условия, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ индСксу с использованиСм Array.