• in
InterCourses
CoursesBlogs
0
← Introduction to JavaScript
○What is JavaScript?○Your First JavaScript Code○Data Types○Type Checking
○Declaring Variables○let and const in Practice○Operators○Type Conversion
○Conditionals○Switch Statement○For Loops○While Loop○Break and Continue
○Defining Functions○Arrow Functions○Scope○Closures○Project - Calculator○Function Expressions
○Arrays○Array Mutation Methods○Array Search and Slice○Array Iteration Methods○Multidimensional Arrays○Destructuring○Array Reverse and Sort○Array Fill○Array Find and Includes○Array Flat and FlatMap○Array Reduce, Some, and Every
○Objects○Object Methods and Destructuring○JSON○Math and Date○Date Basics
○02 Template Literals○String Methods○Regular Expressions
○Higher-Order Functions○Callbacks○map, filter, and reduce○Recursion●Project - Data Transform Pipeline
○OOP Introduction○Classes○Inheritance○Encapsulation
○Asynchronous JavaScript○Promises and Async Await○Async API Simulation

Project - Data Transform Pipeline

Project — Data Transform Pipeline

Apply your functional programming skills to analyze a product inventory dataset.

Dataset

javascript
const inventory = [
    { id: 1, name: "Laptop",     category: "Electronics", price: 999,  stock: 15 },
    { id: 2, name: "Desk Chair", category: "Furniture",   price: 299,  stock: 8  },
    { id: 3, name: "Headphones", category: "Electronics", price: 149,  stock: 0  },
    { id: 4, name: "Bookshelf",  category: "Furniture",   price: 189,  stock: 12 },
    { id: 5, name: "Webcam",     category: "Electronics", price: 79,   stock: 25 },
    { id: 6, name: "Monitor",    category: "Electronics", price: 549,  stock: 6  }
];

Your Task

  1. inStockItems — array of items with stock > 0.
  2. expensiveItems — array of item names with price >= 300, sorted by price descending.
  3. totalValue(items) — returns the total inventory value: sum of (price * stock) for all items.
  4. byCategory(items) — returns an object grouping items by category: { Electronics: [...], Furniture: [...] }.
  5. Render to #output:
    • <p id="in-stock-count">X items in stock</p>
    • <p id="top-products">Top products: Laptop, Monitor</p> (expensive items by name)
    • <p id="total-value">Total value: $X</p>
Hint 1
1 / 3
HINT 1

Chain: data.filter(...).map(...).reduce(...) for clean pipelines.

Loading editor…
READY
intercourses
javascript