Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 15.07.2013, 12:33
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

вы лучше скажите, для чего все эти гарадушки..
Ответить с цитированием
  #12 (permalink)  
Старый 15.07.2013, 12:38
Аспирант
Отправить личное сообщение для linklee Посмотреть профиль Найти все сообщения от linklee
 
Регистрация: 15.07.2013
Сообщений: 49

и как добавить это присвоение?)))
Ответить с цитированием
  #13 (permalink)  
Старый 15.07.2013, 12:40
Аспирант
Отправить личное сообщение для linklee Посмотреть профиль Найти все сообщения от linklee
 
Регистрация: 15.07.2013
Сообщений: 49

просто такое задание и есть
есть строка 'a.b.c.d' превратить ее в обьект {a: {b: {c: 'd'}}}
Ответить с цитированием
  #14 (permalink)  
Старый 15.07.2013, 12:42
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Сообщение от skrudjmakdak
должно быть хотя бы так:
{"a":{"b":{"c":{"d": 1}}}}
function StringToObject(str)
{
    var a = '":1';
    str = str.split('.');
    for(var i=0; i<str.length; i++) a += '}';
    return JSON.parse('{"'+str.join('":{"')+a); 
}

console.log( StringToObject('a.b.c.d') );


Ответить с цитированием
  #15 (permalink)  
Старый 15.07.2013, 12:46
Аспирант
Отправить личное сообщение для linklee Посмотреть профиль Найти все сообщения от linklee
 
Регистрация: 15.07.2013
Сообщений: 49

понял только с еденичкой будет работать..
Ответить с цитированием
  #16 (permalink)  
Старый 15.07.2013, 12:52
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Сообщение от linklee
просто такое задание и есть
есть строка 'a.b.c.d' превратить ее в обьект {a: {b: {c: 'd'}}}
Оу, ну тогда вообще:

var str = 'a.b.c.d';

var obj = str.replace(/(a)\.(b)\.(c)\.(d)/, function()
{
    var a = arguments;
    return eval('{'+a[1]+':{'+a[2]+':{'+a[3]+':"'+[a[4]+'"}}}');
});

Или:
var str = 'a.b.c.d';
str = str.split('.');
var obj = eval('{'+str.[1]+':{'+str.[2]+':{'+str.[3]+':"'+[str.[4]+'"}}}');
Ответить с цитированием
  #17 (permalink)  
Старый 15.07.2013, 13:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070


var str = 'a.b.c.d';
str = str.replace(/([^.]+)$/,'"$1"');
str_plus = Array(str.split('.').length).join('}');
str += str_plus;
str = str.replace(/([^.]+)\./g ,'{"$1":');
var data = JSON.parse(str);
alert(JSON.stringify(data));// для проверки
Ответить с цитированием
  #18 (permalink)  
Старый 15.07.2013, 13:25
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Учитесь, шпана )

var str = 'a.b.c.d';
var o = str.split('.').reduceRight(function(a, b){var o = {}; o[b] = a; return o;});

alert(JSON.stringify(o));


Никаких eval'ов, никаких регулярок и прочей фигни
Ответить с цитированием
  #19 (permalink)  
Старый 15.07.2013, 14:02
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

danik.js, хрень
С Eval'ом круче
Ответить с цитированием
  #20 (permalink)  
Старый 15.07.2013, 14:03
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Ruslan_xDD, завидуй молча )
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить якорь из url okinadok Элементы интерфейса 19 05.07.2016 11:44
как получить цифры из строки? z700i Общие вопросы Javascript 4 04.04.2011 17:30
Как получить название композиции из Windows Mepia Plyaer alx99 Javascript под браузер 1 18.02.2011 16:21
Как обрезать строку и добавить символы в середине, в зависимости от длинны строки andreyua Firefox/Mozilla 12 10.12.2010 15:44
Как вложено прятать строки таблицы? Бобр Общие вопросы Javascript 10 01.08.2010 13:57