Как экранировать / кодировать строки в идентификатор JavaScript - PullRequest
0 голосов
/ 07 ноября 2011

Я пытаюсь создать объекты из списка ключ / значение. Моя проблема в том, что свойства объекта должны быть действительными идентификаторами JavaScript. По крайней мере, с помощью Adobe ExtendScript я могу прекрасно создать объект с неправильным свойством (см. Пример: неправильный ключ -> "-" - литерал недействителен).

var kvp = ["key;value", "wrong-key;value"];
var obj = {};

for (var i = 0 ; i < kvp.length; i++) {
    pair = kvp[i].split(";");
    obj[pair[0]] = pair[1]; 
}
alert (obj.key);
alert (obj.wrong-key); // -> Throws an Error

Конечно, я мог бы запустить replace(/-/,"_"), но есть ли какая-либо функция кодирования / экранирования для достижения этой цели в более общем плане?

спасибо, Грегор

1 Ответ

1 голос
/ 07 ноября 2011

вы можете получить доступ к этим свойствам с помощью специальных символов, используя обозначение массива

console.log(obj["wrong-key"]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...