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