
- Javascript Basics Tutorial
- Javascript - Home
- Javascript - Overview
- Javascript - Syntax
- Javascript - Enabling
- Javascript - Placement
- Javascript - Variables
- Javascript - Operators
- Javascript - If...Else
- Javascript - Switch Case
- Javascript - While Loop
- Javascript - For Loop
- Javascript - For...in
- Javascript - Loop Control
- Javascript - Functions
- Javascript - Events
- Javascript - Cookies
- Javascript - Page Redirect
- Javascript - Dialog Boxes
- Javascript - Void Keyword
- Javascript - Page Printing
- JavaScript Objects
- Javascript - Objects
- Javascript - Number
- Javascript - Boolean
- Javascript - Strings
- Javascript - Arrays
- Javascript - Date
- Javascript - Math
- Javascript - RegExp
- Javascript - HTML DOM
- JavaScript Advanced
- Javascript - Error Handling
- Javascript - Validations
- Javascript - Animation
- Javascript - Multimedia
- Javascript - Debugging
- Javascript - Image Map
- Javascript - Browsers
- JavaScript Useful Resources
- Javascript - Questions And Answers
- Javascript - Quick Guide
- Javascript - Functions
- Javascript - Resources
How to group objects based on a value in JavaScript?
Following is the code to group objects based on a value in JavaScript −
Example
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .result { font-size: 18px; font-weight: 500; color: rebeccapurple; } </style> </head> <body> <h1>Group objects based on a value in JavaScript</h1> <div class="result"> { name: 'Rohan', age: 18 }, { name: 'Mohan', age: 20 }, { name: 'Shawn', age: 18 }, { name: 'Michael', age: 18 }, { name: 'David', age: 20 } </div> <button class="Btn">CLICK HERE</button> <h3>Click on the above button to group the above object based on people's age</h3> <script> let resEle = document.querySelector(".result"); let sampleEle = document.querySelector(".sample"); let BtnEle = document.querySelector(".Btn"); const people = [ { name: "Rohan", age: 18 }, { name: "Mohan", age: 20 }, { name: "Shawn", age: 18 }, { name: "Michael", age: 18 }, { name: "David", age: 20 }, ]; let groupBy = (array, key) => { return array.reduce((result, obj) => { (result[obj[key]] = result[obj[key]] || []).push(obj); return result; }, {}); }; let a = groupBy(people, "age"); BtnEle.addEventListener("click", () => { console.log(a); }); </script> </body> </html>
Output
The above code will produce the following output −
On clicking the ‘CLICK HERE’ button and inspecting the console −
- Related Articles
- JavaScript Separate objects based on properties
- Grouping objects based on key property in JavaScript
- Manipulate Object to group based on Array Object List in JavaScript
- How to find the mean based on single group value in an R data frame?
- Filter an array containing objects based on another array containing objects in JavaScript
- Sort array based on presence of fields in objects JavaScript
- Creating an array of objects based on another array of objects JavaScript
- How to sort an array of objects based on the length of a nested array in JavaScript
- How to group array of objects by Id in JavaScript?
- JavaScript - Sort key value pair object based on value?
- How to Alternate Row Colour Based on Group in Excel?\n
- Group objects by property in JavaScript
- How to group an array of objects by key in JavaScript
- How to create Python objects based on an XML file?
- How to create random sample based on group columns of a data.table in R?

Advertisements