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 funksiyaaccumulator
: Avvalgi hisoblashlarning natijasicurrentValue
: Joriy elementindex
: 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.