Map metodi
map metodi massivning har bir elementi uchun
berilgan funksiyani qo'llash imkonini beradi.
Bunda metod asl massivni o'zgartirmaydi, balki
o'zgartirilgan massivni qaytaradi.
Metod parametr sifatida funksiyani qabul qiladi, u
massivning har bir elementi uchun bajariladi.
Ushbu funksiya return orqali massiv elementi
uchun qaytargan narsa, shu elementning yangi qiymatiga
aylanadi (misollarga qarang).
Funksiyaga 3 parametr berish mumkin.
Agar bu parametrlar mavjud bo'lsa (ular majburiy emas),
unda birinchisiga avtomatik ravishda massiv elementi,
ikkinchisiga uning massivdagi tartib raqami
(indeks), uchinchisiga esa massivning o'zi tushadi.
Sintaksis
javascriptlet yangi massiv = massiv.map(function(element, indeks, massiv) {
kod
return o'zgartirilgan element;
});
Misol
Keling, har bir elementi boshlang'ich massivning mos elementidan ikki baravar katta bo'lgan massiv yaratamiz:
javascriptlet arr = [1, 2, 3, 4, 5];
let res = arr.map(function(elem) {
return elem * 2;
});
console.log(res);
Kodni bajarish natijasi:
javascript[2, 4, 6, 8, 10]
Misol
Keling, har bir elementi quyidagicha olinadigan massiv yaratamiz - element qiymati uning massivdagi tartib raqamiga ko'paytiriladi:
javascriptlet arr = [1, 2, 3, 4, 5];
let res = arr.map(function(elem, index) {
return elem * index;
});
console.log(res);
Kodni bajarish natijasi:
javascript[0, 2, 6, 12, 20]
Misol
Agar kerak bo'lsa, uchinchi parametrga massivning o'zini berish mumkin:
javascriptlet arr = [1, 2, 3, 4, 5];
let res = arr.map(function(elem, index, arr) {
bu yerda arr massivi mavjud bo'ladi
});
Misol
map metodidan ko'p o'lchamli massivlarni
aylantirish uchun ham foydalanish mumkin. Masalan,
quyidagi massiv berilgan bo'lsin:
javascriptlet arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
Keling, bu massivni map orqali aylantirib,
uning elementlarini konsolga chiqaramiz:
javascriptlet arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
let result = arr.map(function(elem) {
console.log(elem);
});
Natijada console.log birinchi [1,
2, 3] ni, keyin [4, 5, 6] ni, keyin
[7, 8, 9] ni chiqaradi.
Ko'rib turganingizdek, elem o'zgaruvchisiga
kichik massivlar tushadi. Keling, endi map
metodini har bir kichik massivga qo'llaymiz va
uning har bir elementini kvadratga ko'taramiz:
javascriptlet arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
let result = arr.map(function(elem) {
return elem.map(function(num) {
return num * num;
});
});
console.log(result);