@Rocknrolla99
Some text

Как распарсить URL?

Есть интернет магазин и страница с товарами, на которой присутствует фильтрация.
Кейс такой: пользователь указывает различную комбинацию фильтров -> кликает применить фильтры и данные по фильтрам сохраняются в строку URL. Вот пример урла:
hsearch/?available=1&status=55395790&country=Russia&menu_id=162&text=sometest&shop=phone&shop=table&shop=tv

Далее нужно взять эту строку и распарсить правильно в объект. Примитивы в примитивы, объекты/массивы собственно в объекты/массивы.
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Dasslier
FrontEnd Developer
Отличная либа query-string
Ответ написан
Комментировать
profesor08
@profesor08 Куратор тега JavaScript
function parseUrl(url) {
  const parser = document.createElement("a");

  parser.href = url;

  let props = {};

  parser.search.replace(/^\?/, '').split('&').forEach(item => {
    const [prop, value] = item.split("=");
    props[prop] = value;
  });

  return props;
}


Либо с новым API
function parseUrl(url) {
  const parser = new URL(url);

  let props = {};

  parser.search.replace(/^\?/, '').split('&').forEach(item => {
    const [prop, value] = item.split("=");
    props[prop] = value;
  });

  return props;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы