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']