Sequence NODE_250
MediumFilter & Search Items via Query Params
Express.js
Node.js
Technical Specification
Enhance GET /items to support search by name (?q=) and filter by minPrice/maxPrice query params.
Input/Output Samples
Input:GET /items?q=pen
Output:Only items with 'pen' in name
Optimal Logic Path
app.get("/items", (req, res) => {
const q = (req.query.q || "").toLowerCase();
const min = req.query.minPrice ? Number(req.query.minPrice) : null;
const max = req.query.maxPrice ? Number(req.query.maxPrice) : null;
let list = items;
if (q) list = list.filter((i) => i.name.toLowerCase().includes(q));
if (min !== null) list = list.filter((i) => i.price >= min);
if (max !== null) list = list.filter((i) => i.price <= max);
res.json(list);
});Architectural Deep-Dive
Query-based filtering is standard for list endpoints; combining search and numeric filters makes it flexible.