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 중국어 웹사이트의 기타 관련 기사를 참조하세요!