Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.09.2018, 17:36
Профессор
Отправить личное сообщение для s24344 Посмотреть профиль Найти все сообщения от s24344
 
Регистрация: 12.08.2015
Сообщений: 206

Как правильно добавить свойства объекта в query string адресной строки (native javasc
Всем привет. Ребята, подскажите, пожалуйста, как правильно добавить свойства объекта в query string адресной строки (native javascript)?
Например, у меня есть объект:
const obj = {
  size: [41332, 43296, 44278],
  brand: [13974],
  consists: [14, 2]
}

И при как-то событии я хочу из этого объекта сформировать следующую строку:
Код:
?size=41332;43296;44278&brand=13974&consists=14;2
и затем сконкатенировать с адресной строкой:
Код:
https://www.website.ru/catalog/kurtki/?size=41332;43296;44278&brand=13974&consists=14;2
и поместить эту строку в адресную строку.
Как мне это верно реализовать?

Последний раз редактировалось s24344, 24.09.2018 в 17:46.
Ответить с цитированием
  #2 (permalink)  
Старый 24.09.2018, 18:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

s24344,
https://api.jquery.com/jQuery.param/
Ответить с цитированием
  #3 (permalink)  
Старый 24.09.2018, 18:12
Профессор
Отправить личное сообщение для s24344 Посмотреть профиль Найти все сообщения от s24344
 
Регистрация: 12.08.2015
Сообщений: 206

Спасибо. Но меня всё же больше интересует как реализовать данную задачу без jquery.
Ответить с цитированием
  #4 (permalink)  
Старый 24.09.2018, 18:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от s24344
без jquery
reduce по ключам обьекта
Ответить с цитированием
  #5 (permalink)  
Старый 24.09.2018, 18:40
Профессор
Отправить личное сообщение для s24344 Посмотреть профиль Найти все сообщения от s24344
 
Регистрация: 12.08.2015
Сообщений: 206

Спасибо. Попробую.
Ответить с цитированием
  #6 (permalink)  
Старый 24.09.2018, 18:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

s24344,
const obj = {
  size: [41332, 43296, 44278],
  brand: [13974],
  consists: [14, 2]
}

let param = Object.keys(obj).reduce((str, key, i) => str += (i ? '&' : '?') + key + '=' + obj[key].join(';'),'')
window.location.search = param;
Ответить с цитированием
  #7 (permalink)  
Старый 24.09.2018, 19:03
Профессор
Отправить личное сообщение для s24344 Посмотреть профиль Найти все сообщения от s24344
 
Регистрация: 12.08.2015
Сообщений: 206

Спасибо за помощь.
Ответить с цитированием
  #8 (permalink)  
Старый 24.09.2018, 22:39
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

{
const obj = {
    size: [41332, 43296, 44278],
    brand: [13974],
    consists: [14, 2]
};

window.location.search = Object.keys(obj)
    .reduce((params, key) => (params.append(key, obj[key].join(";")), params), new URLSearchParams);
}
Ответить с цитированием
  #9 (permalink)  
Старый 24.09.2018, 22:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Malleys,
Ответить с цитированием
  #10 (permalink)  
Старый 25.09.2018, 01:37
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

window.location.search = '?' + Object.keys(obj).map(key => key + '=' + obj[key].join(';')).join('&');

Последний раз редактировалось j0hnik, 25.09.2018 в 01:52.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно создать объект из строки- (native javascript)? s24344 Элементы интерфейса 2 26.08.2018 11:19
как правильно задать переменные в адресной строке dimasheff Элементы интерфейса 3 03.10.2015 18:20
как правильно обращаться к свойствам объект внутри самого объекта ? mitiya Общие вопросы Javascript 12 25.04.2015 21:18
Как правильно добавить в javascript несколько стилей css? trixter5 Javascript под браузер 3 04.04.2013 23:20
Как правильно добавить форму используя jQuery Casufi jQuery 1 15.02.2010 23:14