Skip to content

Instantly share code, notes, and snippets.

View hamada-j's full-sized avatar

Hamada Embarec hamada-j

View GitHub Profile
@hamada-j
hamada-j / gist:180acdf7aab7c714e95183d830837e23
Last active June 9, 2021 18:40
Creating nested object from keys
const
setValue = (object, path, value) => {
const
indices = { first: 0, second: 1 },
keys = path.replace(new RegExp(Object.keys(indices).join('|'), 'g'), k => indices[k]).split('.'),
last = keys.pop();
keys
.reduce((o, k, i, kk) => o[k] ??= isFinite(i + 1 in kk ? kk[i + 1] : last) ? [] : {}, object)
[last] = value;