Rumah >hujung hadapan web >tutorial js >Panduan Komprehensif untuk Kaedah `reduce()` JavaScript dengan Contoh Kehidupan Nyata
Kaedah reduce() ialah kaedah tatasusunan yang berkuasa dalam JavaScript, digunakan untuk melelaran melalui tatasusunan dan mengurangkannya kepada satu nilai. Kaedah ini serba boleh dan boleh mengendalikan operasi seperti menjumlahkan nombor, meratakan tatasusunan, mencipta objek dan banyak lagi.
array.reduce(callback, initialValue);
Andaikan anda mempunyai troli beli-belah, dan anda ingin mengira jumlah harga barang tersebut.
const cart = [ { item: "Laptop", price: 1200 }, { item: "Phone", price: 800 }, { item: "Headphones", price: 150 } ]; const totalPrice = cart.reduce((acc, curr) => acc + curr.price, 0); console.log(`Total Price: $${totalPrice}`); // Total Price: 50
Anda mahu mengumpulkan item mengikut kategorinya.
const inventory = [ { name: "Apple", category: "Fruits" }, { name: "Carrot", category: "Vegetables" }, { name: "Banana", category: "Fruits" }, { name: "Spinach", category: "Vegetables" } ]; const groupedItems = inventory.reduce((acc, curr) => { if (!acc[curr.category]) { acc[curr.category] = []; } acc[curr.category].push(curr.name); return acc; }, {}); console.log(groupedItems); /* { Fruits: ['Apple', 'Banana'], Vegetables: ['Carrot', 'Spinach'] } */
Anda menerima data daripada jabatan yang berbeza sebagai tatasusunan bersarang dan perlu menggabungkannya menjadi satu.
const departmentData = [ ["John", "Doe"], ["Jane", "Smith"], ["Emily", "Davis"] ]; const flattenedData = departmentData.reduce((acc, curr) => acc.concat(curr), []); console.log(flattenedData); // ['John', 'Doe', 'Jane', 'Smith', 'Emily', 'Davis']
Anda mempunyai pelbagai paparan halaman tapak web dan ingin mengira berapa kali setiap halaman dilawati.
const pageViews = ["home", "about", "home", "contact", "home", "about"]; const viewCounts = pageViews.reduce((acc, page) => { acc[page] = (acc[page] || 0) + 1; return acc; }, {}); console.log(viewCounts); /* { home: 3, about: 2, contact: 1 } */
Kaedah reduce() boleh meniru kefungsian map().
const numbers = [1, 2, 3, 4]; const doubled = numbers.reduce((acc, curr) => { acc.push(curr * 2); return acc; }, []); console.log(doubled); // [2, 4, 6, 8]
Anda ingin mencari angka jualan tertinggi daripada set data.
const sales = [500, 1200, 300, 800]; const highestSale = sales.reduce((max, curr) => (curr > max ? curr : max), 0); console.log(`Highest Sale: $${highestSale}`); // Highest Sale: 00
Anda menerima tatasusunan data pengguna dan perlu menukarnya menjadi objek yang dikunci oleh ID pengguna.
array.reduce(callback, initialValue);
Kaedah reduce() adalah sangat serba boleh dan boleh disesuaikan untuk pelbagai tugas, daripada menjumlahkan nilai kepada mengubah struktur data. Berlatih dengan contoh kehidupan sebenar seperti ini untuk memperdalam pemahaman anda dan membuka kunci potensi penuh reduce() dalam projek JavaScript anda.
Atas ialah kandungan terperinci Panduan Komprehensif untuk Kaedah `reduce()` JavaScript dengan Contoh Kehidupan Nyata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!