Skip to main content

parsePath()

parsePath(path): (string | number)[]

Parses a path string into an array of keys for object property access.

note

Supports dot notation, bracket notation, and quoted keys. Numeric indices become numbers.


Parametersโ€‹

path: stringโ€‹

The path string to parse.


Returns: (string | number)[]โ€‹

The array of parsed keys (strings and numbers).


Sinceโ€‹

2.0.0


Exampleโ€‹

parsePath('a.b.c');
// => ['a', 'b', 'c']

parsePath('items[0].name');
// => ['items', 0, 'name']

parsePath('data[1][2].value');
// => ['data', 1, 2, 'value']

parsePath('obj["key"].value');
// => ['obj', 'key', 'value']

Use Casesโ€‹

Resolve object paths ๐Ÿ“Œโ€‹

Convert dot or bracket notation strings into an array of keys. Critical for implementing safe deep property access.

const keys = parsePath('users[0].details.name');
// ['users', '0', 'details', 'name']

Support dynamic form bindingsโ€‹

Parse field paths for form libraries or state management.

const path = parsePath('order.items[2].quantity');
// ['order', 'items', '2', 'quantity']

// Use with get/set
const value = get(formState, path);

Handle edge cases gracefullyโ€‹

Parse paths with mixed notation styles consistently.

parsePath('data["special-key"].items[0]');
// ['data', 'special-key', 'items', '0']

parsePath('simple');
// ['simple']

parsePath('[0][1][2]');
// ['0', '1', '2']