9951 explained code solutions for 126 technologies


javascript-lodashHow do I use Lodash to group elements in an array by a given property in JavaScript?


Lodash is a JavaScript library that provides utility functions for common programming tasks. It can be used to group elements in an array by a given property. To do this, we can use the _.groupBy() function. This function takes two arguments: an array and a callback function. The callback function should return the property by which we want to group the elements.

For example, let's say we have an array of objects that represent people, and each object has a name and an age property. We can use _.groupBy() to group the elements by age:

const people = [
  { name: 'John', age: 20 },
  { name: 'Alice', age: 30 },
  { name: 'Bob', age: 20 },
];

const groupedPeople = _.groupBy(people, person => person.age);

The output of the code above will be:

{
  20: [
    { name: 'John', age: 20 },
    { name: 'Bob', age: 20 },
  ],
  30: [
    { name: 'Alice', age: 30 },
  ],
}
  • people: an array of objects that represent people, with name and age properties
  • groupedPeople: the result of calling _.groupBy() on people, with the callback function returning the age property
  • _.groupBy(): the Lodash function that takes an array and a callback function as arguments, and returns an object of grouped elements

Helpful links

Edit this code on GitHub