vanyahuk7
@vanyahuk7
Co-founder beauto.com.ua co-founder limgro.com - W

Как в js из window.location.search получить обьект с нужными типами?

есть строка localhost/search?cityId=1&delivery=true

нужно розпарсить так чтобы получилось
{
cityId: 1,
delivery: true
}


сейчас
{
cityId: "1",
delivery: "true"
}
  • Вопрос задан
  • 1042 просмотра
Пригласить эксперта
Ответы на вопрос 4
Tim-A-2020
@Tim-A-2020
const search = window.location.search;
const result = search.slice(search.indexOf('?') + 1).split('&').reduce((params, hash) => {
      let [key, val] = hash.split('=')
      return Object.assign(params, {[key]: decodeURIComponent(val)})
  }, {})
console.log(result)
Ответ написан
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
Посмотрите на URLSearchParams
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Поскольку в GET-параметрах нет информации о типах, вам придётся приводить данные вручную. Если объекты сложные, можно делать это рекурсивно, но логику всё равно написать придётся.
Ответ написан
Комментировать
john36allTa
@john36allTa
alien glow of a dirty mind
const params = [...new URLSearchParams(window.location.search).entries()].reduce((r, [k,v]) => { r[k] = v; return r; }, {})
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы