How to use the zipObjectDeep function from lodash

Find comprehensive JavaScript lodash.zipObjectDeep code examples handpicked from public code repositorys.

lodash.zipObjectDeep creates an object composed from arrays of keys and values by recursively creating nested objects.

439
440
441
442
443
444
445
module.exports.xor                 = _.xor;
module.exports.xorBy               = _.xorBy;
module.exports.xorWith             = _.xorWith;
module.exports.zip                 = _.zip;
module.exports.zipObject           = _.zipObject;
module.exports.zipObjectDeep       = _.zipObjectDeep;
module.exports.zipWith             = _.zipWith;
fork icon19
star icon122
watch icon0

+ 92 other calls in file

192
193
194
195
196
197
198
199
200
201
202
203
204
console.log(zip); // => [['a', 1, true], ['b', 2, false]]


const zipObject = _.zipObject(['a', 'b'], [1, 2]);
console.log(zipObject); // => { 'a': 1, 'b': 2 }


const zipObjectDeep = _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);
console.log(zipObjectDeep); // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }


const zipWith = _.zipWith([1, 2], [10, 20], [100, 200], (a, b, c) => a + b + c);
console.log(zipWith); // => [111, 222]
fork icon0
star icon4
watch icon0

+ 15 other calls in file

How does lodash.zipObjectDeep work?

lodash.zipObjectDeep creates an object from an array of key-value pairs where the keys are nested paths. The function iterates over the input array, creates the nested keys and sets the value at the deepest level of the created object. If a key already exists, it is skipped, and the function returns the final object.

532
533
534
535
536
537
538
539
540
541
542
543
let zipObeject1 = _.zipObject(['a', 'b'], [1, 2]);
console.log('zipObject1--->', zipObeject1);
//zipObject1---> { a: 1, b: 2 }


//_.zipObjectDeep([props=[]],[values=[]])
let zipObjectDeep1 = _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);
console.log('zipOjectDeep1--->', zipObjectDeep1);
//{ 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }


//_.zipWith([arrays],[iteratee=_.identity])
fork icon0
star icon0
watch icon0

Ai Example

1
2
3
4
5
6
7
8
const _ = require("lodash");

const keys = ["a.b[0].c", "a.b[1].d"];
const values = [1, 2];

const result = _.zipObjectDeep(keys, values);

console.log(result); // { a: { b: [ { c: 1 }, { d: 2 } ] } }

In this example, keys represents the object keys that will be created and values contains the corresponding values. The function then recursively creates the object with the given keys and values. Note that the keys are specified using a string that contains the property names and array indices separated by dots and square brackets. This notation allows creating nested objects with ease.

Other functions in lodash

Sorted by popularity

function icon

lodash.get is the most popular function in lodash (7670 examples)