Ma'lumot turlari

Massivlar

Obyektlar ma'lumotni nomlar bilan saqlaydi. Ammo ko'pincha bizga tartiblangan to'plam kerak bo'ladi: ro'yxat, navbat, elementlar ketma-ketligi. Buning uchun massiv (array) maxsus tur mavjud.

Massiv yaratish

Massiv yaratishning ikki sintaksisi bor, lekin amalda deyarli har doim to'rtburchak qavs [...] ishlatiladi:

massiv-yaratish.js
// natija shu yerda chiqadi

Indekslar orqali murojaat

Massiv elementlari 0 dan boshlab raqamlanadi. Bu raqam indeks deyiladi. Elementga to'rtburchak qavs orqali murojaat qilinadi:

indeks.js
// natija shu yerda chiqadi

Satrlardagi kabi, oxiridan sanash uchun at() metodini ishlatish mumkin โ€” u manfiy indeksni qo'llaydi:

massiv-at.js
// natija shu yerda chiqadi

length โ€” uzunlik

length xususiyati massivdagi elementlar sonini beradi. Aniqrog'i, u eng katta indeksdan bittaga ko'p qiymatni qaytaradi:

length.js
// natija shu yerda chiqadi
lengthga qiymat berish orqali massivni qisqartirish mumkin. Uni 0 qilish โ€” massivni tozalashning eng oson yo'llaridan biri.

Qo'shish va o'chirish metodlari

Massiv "navbat" yoki "stek" sifatida ishlashi mumkin. Buning uchun to'rtta asosiy metod bor. Oxiri bilan ishlash tez, boshi bilan ishlash sekinroq.

push-pop.js
// natija shu yerda chiqadi
push va pop tez ishlaydi, chunki ular boshqa elementlarga tegmaydi. shift va unshift esa sekinroq, chunki qolgan barcha elementlarni surib chiqishga to'g'ri keladi.

Massivning ichki tuzilishi

Massiv aslida โ€” bu maxsus turdagi obyekt. To'rtburchak qavs arr[0] obyekt sintaksisining qisqartmasidir. Massivni obyektdan ajratib turadigan narsa โ€” tartiblangan sonli indekslar va length hamda maxsus metodlar.

Aynan shu "obyekt" tabiati tufayli massivni noto'g'ri ishlatib "buzish" mumkin. Massiv bilan faqat tartibli, sonli indekslar orqali ishlash kerak:

let arr = [1, 2, 3];

// bunday qilmang โ€” massiv "optimallashtirishini" buzasiz:
arr.name = "salom";     // xususiyat qo'shish
arr[99] = "uzoq";        // katta bo'shliq ("teshik")
// bunday hollarda dvigatel massivni oddiy obyektdek sekin ishlaydi
Massivni qo'lda "nosonli" indeks yoki katta bo'sh oraliqlar bilan ishlatmang. Aks holda JavaScript dvigateli uni maxsus tez massiv sifatida emas, oddiy sekin obyekt sifatida ishlaydi.

Massiv bo'ylab aylanish (loop)

Massiv elementlarini birma-bir ko'rib chiqishning ikki asosiy usuli bor. Birinchisi โ€” klassik for sikli, unda indeks orqali murojaat qilamiz:

for.js
// natija shu yerda chiqadi

Ikkinchisi va qulayrog'i โ€” for..of sikli. U to'g'ridan-to'g'ri elementlarning o'zini beradi, indeks bilan ovora bo'lmaysiz:

for-of.js
// natija shu yerda chiqadi
Massivda for..in siklini ishlatmang. U obyektlar uchun mo'ljallangan va massivda sekinroq hamda ba'zan keraksiz xususiyatlarni ham aylanib chiqadi. Massiv uchun for yoki for..of ishlating.

Ko'p o'lchamli massivlar

Massiv elementlari ham massiv bo'lishi mumkin. Bunday tuzilma ko'p o'lchamli massiv deyiladi va, masalan, jadval yoki matritsani ifodalash uchun ishlatiladi:

matritsa.js
// natija shu yerda chiqadi

toString โ€” matnga o'girish

Massivda toString metodi bor โ€” u elementlarni vergul bilan birlashtirib satr qaytaradi. Massiv satr bilan birlashtirilganda ham xuddi shu ro'y beradi:

tostring.js
// natija shu yerda chiqadi
Elementlarni boshqa ajratuvchi bilan birlashtirish uchun join metodini ishlatishingiz mumkin: [1,2,3].join(" - ") โ†’ "1 - 2 - 3".

Xulosa