August 6

JavaScriptda massivning reduce() funksiyasi

reduce() - bu JavaScript massivlarining kuchli va ko'p qirrali metodidir. U massiv elementlarini bitta qiymatga birlashtirish uchun ishlatiladi. Bu funksiya massivning har bir elementi uchun bajariladigan "reducer" funksiyasini qabul qiladi va yakuniy natijani qaytaradi.

reduce() funksiyasining sintaksisi

array.reduce(callback(accumulator, currentValue, index, array), initialValue)
  • callback: Har bir element uchun bajariladigan funksiya
  • accumulator: Avvalgi hisoblashlarning natijasi
  • currentValue: Joriy element
  • index: Joriy element indeksi (ixtiyoriy)
  • array: reduce() chaqirilgan massiv (ixtiyoriy)
  • initialValue: Boshlang'ich qiymat (ixtiyoriy)

Misollar

1. Massiv elementlari yig'indisini hisoblash

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, curr) => acc + curr, 0);
console.log(sum); // 15

Bu misolda, reduce() funksiyasi massivdagi barcha sonlarni qo'shib, ularning yig'indisini qaytaradi.

2. Massivdagi eng katta sonni topish

const numbers = [10, 5, 8, 3, 15, 12];
const maxNumber = numbers .reduce((max, curr) => Math.max(max, curr));
console.log(maxNumber ); // 15

Bu yerda reduce() har bir elementni oldingi eng katta qiymat bilan solishtiradi va eng kattasini saqlaydi.

3. Ob'ektlar massivini birlashtirish

const fruits= [
  { name: 'olma', amount: 5 },
  { name: 'banan', amount: 3 },
  { name: 'olma', amount: 2 },
  { name: 'nok', amount: 4 }
];

const reducedFruits = fruits.reduce((acc, curr) => {
  acc[curr.nomi] = (acc[curr.name] || 0) + curr.amount;
  return acc;
}, {});

console.log(reducedFruits);
// { olma: 7, banan: 3, nok: 4 }

Bu misolda reduce() ob'ektlar massivida bir xil nomli mevalarning miqdorini qo'shib bir ob'ektga aylantiradi.

4. Massivni tekislash (flatten)

const nestedArrays = [[1, 2], [3, 4], [5, 6]];
const flattenedArray = nestedArrays.reduce((acc, curr) => acc.concat(curr), []);
console.log(flattenedArray ); // [1, 2, 3, 4, 5, 6]

Bu yerda reduce() ichki massivlarni bitta tekis massivga birlashtiradi.

Xulosa

reduce() funksiyasi JavaScript massivlari bilan ishlashda juda foydali va ko'p qirrali vositadir. U oddiy hisob-kitoblardan tortib murakkab ma'lumotlar transformatsiyasigacha bo'lgan turli vazifalarni bajarishi mumkin. Bu funksiyani o'zlashtirish va to'g'ri qo'llash orqali siz kodingizni ancha ixcham va samarali qilishingiz mumkin.