def change(arr, indexes, value):
head, tail = indexes[:-1], indexes[-1]
for i in head:
arr = arr[i]
arr[tail] = value
>>> arr = [0, 1, 5, [5, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 0, 0, 0, 0]]
>>> change(arr, [3, 1, 0], 999)
>>> arr
[0, 1, 5, [5, [999, 2, 3, 4, 5, 6, 7, 8, 9, 10], 0, 0, 0, 0]]
function getPaths(obj, path = [ '' ]) {
const entries = Object.entries(obj);
return entries.length
? entries.reduce((acc, n) => (
path.push(n[0]),
acc.push(...getPaths(n[1], path)),
path.pop(),
acc
), [])
: [ path.join('/') ];
}
Но это очень ресурсозатратно, поэтому я хочу создать отдельный серверный обработчик, занимающийся абсолютно всеми обращениями к сайту. Допустим, если сайт называется asd.com, то любое обращение через asd.com (asd.com/registration, asd.com/documents/users, asd.com и т.д.) должно проходить через этот скрипт. Сам скрипт, считывая url запрос, выдавал бы определенный нужный файл, а сама строка url при необходимости изменялась бы при помощи js (pushState и replaceState например)
А каким образом вообще можно организовать сервером обработку url
если во ВКонтакте миллионы пользовательских аккаунтов, то, получается, что для каждого из них существует отдельная папка/файл на сервере
https://site.ru/books/1