object-traversal-by-path
v2.0.2
Published
Simple object navigation
Downloads
185
Readme
Object traversal by path
Given a path, e.g. a.b[2].c.d[1].e
, it will navigate down the provided object and return the last value it finds.
You can play with it in a sandbox here
Install
npm install object-traversal-by-path
or
yarn add object-traversal-by-path
Usage
import { traverse } from 'object-traversal-by-path';
const object = {
a: {
b: {
c: 'hello world!'
}
}
};
const path = 'a.b.c';
const value = traverse(path, object); // value === 'hello world!'
This also works with arrays:
import { traverse } from 'object-traversal-by-path';
const object = {
a: {
b: [
{ c: 'hello' },
{ c: 'goodbye' }
]
}
};
const path = 'a.b[1].c';
const value = traverse(path, object); // value === 'goodbye'
Mutating
You can deeply mutate objects with the mutate
function.
import { mutate } from 'object-traversal-by-path';
const object = {
a: {
b: [
{ c: 'hello' },
{ c: 'goodbye' }
]
}
};
const path = 'a.b[1].c';
const value = mutate(path, object, () => 'see you soon!');
console.log(value.a.b[1].c); // 'see you soon!'