У меня есть строка, которая является путем к значению во вложенном объекте JavaScript, например:
users.userA.credentials.name
Я бы хотела разбить эту строку на ее элементы, а затем создатьмассив со всеми «подпутями», например так:
["users", "users.userA", "users.userA.credentials"]
В настоящее время я решаю эту проблему следующим образом:
const path = "users.userA.credentials.name"
const currentPath = []
const paths = []
for (const item of path.split('.')) {
currentPath.push(item)
paths.push([...currentPath])
}
Работает нормально,но мне было интересно, есть ли более функциональный способ (использование map()
, filter()
, reduce()
или, возможно, некоторые lodash
/ ramda
функции для достижения того же результата.