Lodash _.partition() method creates an array of elements split into two groups, the first of which contains elements predicate returns true and the second of which contains elements predicate returns false.
Syntax:
_.partition(collection, predicate);
Parameters:
- collection (Array|Object) parameter holds the collection to iterate over.
- predicate (Function) parameter holds the function invoked per iteration and is invoked with one argument (value).
Return Value:
This method returns the array of grouped elements.
Example 1: In this example, we are partitioning our array into two parts one which has true as an active value and another is false as an active value.
javascript
// Requiring the lodash library const _ = require( "lodash" ); // Original array let users = [ { 'customer' : 'john' , 'age' : 26, 'active' : false }, { 'customer' : 'jonny' , 'age' : 34, 'active' : true }, { 'customer' : 'johnson' , 'age' : 12, 'active' : false } ]; // Use of _.partition() method let gfg = _.partition(users, function (o) { return o.active; }); // Printing the output console.log(gfg); |
Output:
[
[ { customer: 'jonny', age: 34, active: true } ],
[
{ customer: 'john', age: 26, active: false },
{ customer: 'johnson', age: 12, active: false }
]
]
Example 2: In this example, we are partitioning our array into two parts. we are passing our condition as an object into the _.partitiion() method.
javascript
// Requiring the lodash library const _ = require( "lodash" ); // Original array let users = [ { 'customer' : 'john' , 'age' : 26, 'active' : false }, { 'customer' : 'jonny' , 'age' : 34, 'active' : true }, { 'customer' : 'johnson' , 'age' : 12, 'active' : false } ]; // Use of _.partition() method // The `_.matches` iteratee shorthand let gfg = _.partition(users, { 'age' : 12, 'active' : false }); // Printing the output console.log(gfg); |
Output:
[
[ { customer: 'johnson', age: 12, active: false } ],
[
{ customer: 'john', age: 26, active: false },
{ customer: 'jonny', age: 34, active: true }
]
]
Example 3: In this example, we are partitioning our array into two parts. we are passing our condition as an array into the _.partitiion() method.
javascript
// Requiring the lodash library const _ = require( "lodash" ); // Original array let users = [ { 'customer' : 'john' , 'age' : 26, 'active' : false }, { 'customer' : 'jonny' , 'age' : 34, 'active' : true }, { 'customer' : 'johnson' , 'age' : 12, 'active' : false } ]; // Use of _.partition() method // The `_.matchesProperty` iteratee shorthand let gfg = _.partition(users, [ 'active' , false ]); // Printing the output console.log(gfg); |
Output:
[
[
{ customer: 'john', age: 26, active: false },
{ customer: 'johnson', age: 12, active: false }
],
[ { customer: 'jonny', age: 34, active: true } ]
]