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);

Shuningdek qarang

  • metod forEach,
    bu massivning har bir elementi uchun funksiyani qo'llaydi
  • metod filter,
    bu massiv elementlarini filtrlash imkonini beradi
  • metodlar some va every,
    massivni tekshiradi
  • metodlar reduce va reduceRight,
    massivni bitta qiymatga yig'adi