Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.04.2019, 20:07
Аспирант
Отправить личное сообщение для tk.stas Посмотреть профиль Найти все сообщения от tk.stas
 
Регистрация: 25.02.2015
Сообщений: 37

Строку в объект
Есть строка - t=дата&s=сумма&ds=и тд.
Есть ли простой способ преобразовать ее в объект?
Ответить с цитированием
  #2 (permalink)  
Старый 22.04.2019, 20:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 25,912

tk.stas,
let str = "t=дата&s=сумма";
       let obj = str.split("&").reduce((ob, v) => ([a,b]=v.split("="),ob[a]=b,ob), {});
       console.log(obj)
Ответить с цитированием
  #3 (permalink)  
Старый 22.04.2019, 20:39
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 852

const str = "t=дата&s=сумма";
const obj = new URLSearchParams(str);
console.table([...obj]);
Ответить с цитированием
  #4 (permalink)  
Старый 22.04.2019, 21:07
Аспирант
Отправить личное сообщение для tk.stas Посмотреть профиль Найти все сообщения от tk.stas
 
Регистрация: 25.02.2015
Сообщений: 37

Сообщение от Malleys Посмотреть сообщение
const str = "t=дата&s=сумма";
const obj = new URLSearchParams(str);
console.table([...obj]);

А в старых браузерах будет работать URLSearchParams()?
Ответить с цитированием
  #5 (permalink)  
Старый 22.04.2019, 21:16
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 852

Сообщение от tk.stas
А в старых браузерах будет работать URLSearchParams()?
Поддержка очень хорошая... https://caniuse.com/#search=URLSearchParams (учитывая, что мы живём в эпоху автоматически обновляемого ПО)

Если нужна поддержка супер-старинных браузеров, то можете использовать polyfill.io
<script crossorigin="anonymous" src="https://polyfill.io/v3/polyfill.min.js?features=URL"></script>
Ответить с цитированием
  #6 (permalink)  
Старый 22.04.2019, 21:35
Аспирант
Отправить личное сообщение для tk.stas Посмотреть профиль Найти все сообщения от tk.stas
 
Регистрация: 25.02.2015
Сообщений: 37

Сообщение от рони Посмотреть сообщение
tk.stas,
let str = "t=дата&s=сумма";
       let obj = str.split("&").reduce((ob, v) => ([a,b]=v.split("="),ob[a]=b,ob), {});
       console.log(obj)
Хром версии 39, ругается на '=>'
Ответить с цитированием
  #7 (permalink)  
Старый 22.04.2019, 21:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 25,912

tk.stas,
var str = "t=дата&s=сумма";
var obj = str.split("&").reduce(function(ob, v)
  {
    v = v.split("=");
    ob[v[0]] = v[1];
    return ob
  }, {}
);

console.log(obj)
Ответить с цитированием
  #8 (permalink)  
Старый 22.04.2019, 21:45
Аспирант
Отправить личное сообщение для tk.stas Посмотреть профиль Найти все сообщения от tk.stas
 
Регистрация: 25.02.2015
Сообщений: 37

Сообщение от рони Посмотреть сообщение
tk.stas,
var str = "t=дата&s=сумма";
var obj = str.split("&").reduce(function(ob, v)
  {
    v = v.split("=");
    ob[v[0]] = v[1];
    return ob
  }, {}
);

console.log(obj)
Большое спасибо!
Ответить с цитированием
  #9 (permalink)  
Старый 22.04.2019, 21:57
Аватар для Aetae
Любитель
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 5,384

>Хром версии 39
И у кого такая версия?
__________________
29375, 35
Ответить с цитированием
  #10 (permalink)  
Старый 22.04.2019, 22:19
Аспирант
Отправить личное сообщение для tk.stas Посмотреть профиль Найти все сообщения от tk.stas
 
Регистрация: 25.02.2015
Сообщений: 37

Сообщение от Aetae Посмотреть сообщение
>Хром версии 39
И у кого такая версия?
Android 5.1 WebView работает на 39 версии и в основном не обновляется.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно ли преобразовать строку в объект запрос? AleksSergSB Общие вопросы Javascript 1 20.11.2016 09:54
Получить из mysql json строку и преобразовать в js объект 0leg9 AJAX и COMET 7 18.10.2014 14:21
Как получить в JQUERY каждую строку как отдельный объект? Alex1233 Общие вопросы Javascript 3 22.08.2014 05:54
Как преобразовать строку в объект axmed2004 Общие вопросы Javascript 4 20.11.2012 14:02
Перевод на новую строку JS воспринимает как объект DOM Rig Events/DOM/Window 6 26.12.2011 18:08