const items = [
{ name: "Item1", price: 450 },
{ name: "Item2", price: 1500 },
{ name: "Item3", price: 350 },
{ name: "Item4", price: 2000 },
{ name: "Item5", price: 1200 },
{ name: "Item6", price: 300 }
];
const groupedItems = items.reduce((groups, item) => {
// Define price ranges
let groupKey = "";
if (item.price < 500) {
groupKey = "Under 500";
} else if (item.price > 1000) {
groupKey = "Above 1000";
}
// Add item to appropriate group
if (groupKey) {
if (!groups[groupKey]) {
groups[groupKey] = [];
}
groups[groupKey].push(item);
}
return groups;
}, {});
console.log(groupedItems);
// json
{
"Under 500": [
{ "name": "Item1", "price": 450 },
{ "name": "Item3", "price": 350 },
{ "name": "Item6", "price": 300 }
],
"Above 1000": [
{ "name": "Item2", "price": 1500 },
{ "name": "Item4", "price": 2000 },
{ "name": "Item5", "price": 1200 }
]
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter