Показать сообщение отдельно
  #1 (permalink)  
Старый 27.09.2013, 20:53
Новичок на форуме
Отправить личное сообщение для Sinist3r Посмотреть профиль Найти все сообщения от Sinist3r
 
Регистрация: 19.09.2013
Сообщений: 5

Лучший способ преобразовать строку из одного вида в другой?
var regexp = /\.(\w+)/g, string1, string2;

string1 = "object.prop.style[0].abcd";
string2 = string1.replace(regexp, "['$1']");

alert(string2); // => "object['prop']['style'][0]['abcd']"
Есть строка string1 - "путь" до какого-либо элемента объекта, объект может быть любого уровня вложенности.
В этой строке могут содержаться отношения вида var.subvar (с точкой). Все найденные необходимо заменить на эквивалентную запись var['subvar'].
Здесь использую регулярку, еще где-то лежит реализация с помощью String.split и цикла, но с регуляркой работает вроде как быстрее, да и выглядит компактнее.
В общем есть ли более хорошее решение данной задачи?
Ответить с цитированием