Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.01.2019, 15:55
Профессор
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 151

Распарсть объект по символу
По API получаю такой объект:
2019-01-10: 3669.5825
2019-01-11: 3660.9583
2019-01-12: 3658.6725
2019-01-13: 3540.1583
2019-01-14: 3706.1725
2019-01-15: 3604.1333
2019-01-16: 3630.2567
2019-01-17: 3665.41
Как можно его распарсить, чтобы даты были отдельно, а сумма после : отдельно?

Для строк-то есть метод split(), но мне он не поможет, как я понял, даже есть через JSON.stringify() преобразовать в строку.
Ответить с цитированием
  #2 (permalink)  
Старый 18.01.2019, 16:41
Профессор
Отправить личное сообщение для Teamur Посмотреть профиль Найти все сообщения от Teamur
 
Регистрация: 08.06.2015
Сообщений: 206

var obj={'2019-01-10' : 3669.5825, '2019-01-11' : 3660.9583};
var keys=Object.keys(obj);
var values=Object.values(obj);
Ответить с цитированием
  #3 (permalink)  
Старый 19.01.2019, 12:28
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,746

var res=`2019-01-10: 3669.5825
2019-01-11: 3660.9583
2019-01-12: 3658.6725
2019-01-13: 3540.1583
2019-01-14: 3706.1725
2019-01-15: 3604.1333
2019-01-16: 3630.2567
2019-01-17: 3665.41
`;
res=res.split(/\r?\n+?/g).reduce(function(res,str){
	if(!str)
		return res;
	
	str=str.split(':').map(function(str){
		return str.trim();
	});
	if(str.length!==2)
		return res;
	
	
	res[0].push(str[0]);
	res[1].push(str[1]);
	
	
	return res;
},[[],[]]);

console.log(res);
Ответить с цитированием
  #4 (permalink)  
Старый 19.01.2019, 15:46
Профессор
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 151

Сообщение от Teamur Посмотреть сообщение
var obj={'2019-01-10' : 3669.5825, '2019-01-11' : 3660.9583};
var keys=Object.keys(obj);
var values=Object.values(obj);
Как всё просто... Спасибо большое. Я почему-то не думал, что в JS есть готовое решение.
Ответить с цитированием
  #5 (permalink)  
Старый 19.01.2019, 15:47
Профессор
Отправить личное сообщение для CryNet Посмотреть профиль Найти все сообщения от CryNet
 
Регистрация: 02.01.2019
Сообщений: 151

Сообщение от Nexus Посмотреть сообщение
var res=`2019-01-10: 3669.5825
2019-01-11: 3660.9583
2019-01-12: 3658.6725
2019-01-13: 3540.1583
2019-01-14: 3706.1725
2019-01-15: 3604.1333
2019-01-16: 3630.2567
2019-01-17: 3665.41
`;
res=res.split(/\r?\n+?/g).reduce(function(res,str){
	if(!str)
		return res;
	
	str=str.split(':').map(function(str){
		return str.trim();
	});
	if(str.length!==2)
		return res;
	
	
	res[0].push(str[0]);
	res[1].push(str[1]);
	
	
	return res;
},[[],[]]);

console.log(res);
Спасибо за вариант решения
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить объект в другой объект фонарик Общие вопросы Javascript 5 11.10.2015 01:57
Ищу функцию для canvas, которая будет перемещать мой объект на позицию х,у eko24 Events/DOM/Window 0 12.10.2013 00:33
Создать объект в объекте Bryant-24 Общие вопросы Javascript 3 10.07.2013 16:06
jQuery (Как открыть объект в этом же окне, щёлкнув по нему мышкой) Объект кусок карты hadzhimuratov (X)HTML/CSS 32 18.06.2012 17:54
Передать ссылку на объект а не объект возникновения события Blazze Events/DOM/Window 0 11.10.2011 00:45