Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Лучший способ преобразовать строку из одного вида в другой? (https://javascript.ru/forum/misc/41753-luchshijj-sposob-preobrazovat-stroku-iz-odnogo-vida-v-drugojj.html)

Sinist3r 27.09.2013 20:53

Лучший способ преобразовать строку из одного вида в другой?
 
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 и цикла, но с регуляркой работает вроде как быстрее, да и выглядит компактнее.
В общем есть ли более хорошее решение данной задачи?

Яростный Меч 27.09.2013 21:01

Цитата:

Сообщение от Sinist3r
В общем есть ли более хорошее решение данной задачи?

т.к. готового встроенного решения нет, лучше регулярки ничего не придумать.

Sinist3r 27.09.2013 21:02

Спасибо


Часовой пояс GMT +3, время: 18:55.