reduce() 方法是 JavaScript 中强大的数组方法,用于迭代数组并将其减少为单个值。此方法用途广泛,可以处理数字求和、展平数组、创建对象等操作。
array.reduce(callback, initialValue);
假设您有一个购物车,并且您想要计算商品的总价。
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
您想要按类别对项目进行分组。
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'] } */
您以嵌套数组的形式接收来自不同部门的数据,需要将它们合并为一个。
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']
您有一系列网站页面浏览量,并且想要计算每个页面的访问次数。
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 } */
reduce()方法可以模仿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]
您想要从数据集中找到最高的销售额。
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
您收到一个用户数据数组,需要将其转换为由用户 ID 键入的对象。
array.reduce(callback, initialValue);
reduce() 方法非常通用,可以适应各种任务,从求和到转换数据结构。使用这些现实生活中的示例进行练习,以加深您的理解并释放您的 JavaScript 项目中的 reduce() 的全部潜力。
以上是JavaScript `reduce()` 方法综合指南及现实生活示例的详细内容。更多信息请关注PHP中文网其他相关文章!