JavaScript massiv metodlari (map, filter, reduce)
Massiv ustidan for bilan yurish mumkin, lekin JavaScript’da bu ishlar uchun
tayyor metodlar bor. Ular kodni qisqa va maqsadi ko’rinib turadigan qiladi.
map — har elementni o’zgartirish
map har element ustida funksiyani bajaradi va natijalardan yangi massiv
yasaydi. Asl massiv o’zgarmaydi.
Xuddi shuni for bilan yozsak uzunroq bo’lardi:
const chegirmali = [];
for (const narx of narxlar) {
chegirmali.push(narx * 0.9);
}
map bir qatorda va nomi maqsadni aytib turibdi.
filter — shartga mos elementlarni ajratish
Funksiya true qaytargan elementlar yangi massivga tushadi.
reduce — bitta qiymatga yig’ish
reduce ikki narsa oladi: callback va boshlang’ich qiymat (bu yerda 0).
Callback har qadamda ikki argument oladi:
yigindi— hozirgacha to’plangan natija;narx— navbatdagi element.
Qadamma-qadam: 0+8000 = 8000 → 8000+12000 = 20000 → 20000+15000 = 35000.
find — birinchi mosini topish
find bitta element qaytaradi (filter — massiv). Topilmasa undefined.
some va every
some— kamida bittasi shartga mos kelsatrue;every— hammasi mos kelsatrue.
sort — tartiblash
Metodlarni zanjirlash
Metodlar massiv qaytargani uchun ketma-ket ulanadi:
O’qilishi: qimmatlarini ajrat → narxlarini ol → yig’.
Amaliy mashq
Ma’lumotni qayta ishlang:
- Sonlar massivini yarating va
mapbilan har birini kvadratga ko’taring; filterbilan faqat juftlarini ajrating;reducebilan yig’indisini toping;- uchalasini bitta zanjirda birlashtiring;
sortbilan kamayish tartibida tartiblang.
4-qadamdan keyin natijani for sikli bilan qayta yozing — qaysi biri
o’qishga qulay?
Qisqacha xulosa
map— har elementni o’zgartirib yangi massiv yasaydi.filter— shartga mos elementlarni ajratadi.reduce— massivni bitta qiymatga yig’adi.findbitta element,some/everymantiqiy qiymat qaytaradi.sortasl massivni o’zgartiradi va sonlar uchun(a, b) => a - btalab qiladi.
Keyingi darsda obyektlar — bog’liq ma’lumotni bir joyda saqlashni ko’ramiz.